我开发了一款专注于健康和健身的应用,并使用Core Data来保存锻炼数据。 在少数用户(
致命异常:NSInvalidArgumentException,在不同上下文中的对象之间非法建立“ X”关系的尝试。
当我尝试保存培训计划时,会发生此错误。 如果我在设备上使用相同的用户帐户登录,则不会发生此错误。
这是我的保存功能:
func saveTraningProgramDB(trainingProgram:RetornoTreino) {
let db = getcontext()
for ficha in (trainingProgram.programa?.fichas)! {
let fichasDB = FichasnovoDB(context: db)
fichasDB.nome = ficha.nome
....
for atividade in ficha.atividades! {
for atividadePrograma in (trainingProgram.programa?.atividades)! {
if atividade.codigoatividade == String(atividadePrograma.codigoatividade ?? 0) {
let atividadesDB = AtividadesnovoDB(context: db)
...
for serie in atividade.series! {
let seriesDB = SeriesnovoDB(context: db)
...
atividadesDB.addToSeries(seriesDB)
}
for ajuste in atividade.ajustes! {
...
atividadesDB.addToAjustes(ajustesDB)
}
fichasDB.addToAtividades(atividadesDB)
}
}
}
db(fichasDB)
}
do {
try db.save()
} catch {
db(error)
}
}
有人知道发生了什么吗,或者由于问题仅在客户端设备上发生,我该怎么做才能模拟问题?
感谢所有回复!
注意:很抱歉,我的英语不是我的母语。
*已解决*
该问题发生在代码的另一部分以及此部分中的错误堆栈中。 问题在于客户的手机是12h而非24h格式。 该日期已到期,因为未正确处理。 谢谢大家。