Я использую основные данные для сохранения данных моего приложения iOS. Его многопоточное приложение; Несколько потоков могут сохранять данные в Core Data DB. На самом деле, при сохранении данных с помощью Core Data возникают сбои.
Вот кусок кода, где выводятся ошибки:
public func saveChanges()
{
self.managedObjectContext.performBlock { () -> Void in
if self.managedObjectContext.hasChanges {
do {
try self.managedObjectContext.save()
} catch {
//Handle Error
//Handle Error, offcourse we will return after that
print("======================================================")
print("Error while saving 1rd tier context")
print("------------------------------------------------------")
let saveError = error as NSError
print("Unable to Save Note")
//print("\(saveError), \(saveError.localizedDescription)")
let detailedErrors = saveError.userInfo[NSDetailedErrorsKey] as? [NSError]
if let _ = detailedErrors {
for detailedError:NSError in detailedErrors! {
print("----------------------------------------")
print(" DetailedError:\(detailedError.userInfo)")
print("----------------------------------------")
}
}
print("------------------------------------------------------")
print("\(saveError.localizedDescription)")
print("======================================================")
return
}
}
}
}
Ниже приведены журналы на консоли (показаны краткие журналы):
DetailedError:[Dangling reference to an invalid object.: <null>, NSValidationErrorValue: Relationship 'emails' on managed object (0x7ff2149f9220) <UserDB: 0x7ff2149f9220> (entity: UserDB; id: 0x7ff214a20270 <x-coredata:///UserDB/t45022E2A-2772-4525-8D96-929D1AC8FD7D8> ; data: {
addressBookContacts = (
);
bio = nil;
И еще кое-что:
)}, NSAffectedObjectsErrorKey: (
"<Email: 0x7ff214d05c40> (entity: Email; id: 0x7ff214a6d420 <x-coredata:///Email/t45022E2A-2772-4525-8D96-929D1AC8FD7D9> ; data: {\n emailRemovedByUser = nil;\n \"email_address\" = nil;\n \"email_type\" = nil;\n id = 0;\n \"is_verified\" = nil;\n \"social_media_source\" = nil;\n user = \"0x7ff214a20270 <x-coredata:///UserDB/t45022E2A-2772-4525-8D96-929D1AC8FD7D8>\";\n visibility = 0;\n})"`), NSValidationErrorObject: <UserDB: 0x7ff2149f9220> (entity: UserDB; id: 0x7ff214a20270 <x-coredata:///UserDB/t45022E2A-2772-4525-8D96-929D1AC8FD7D8> ; data: {
addressBookContacts = (
Также отображается «Висячая ссылка на недопустимый объект»; Я застрял с проблемой .. и не могу понять, почему это происходит.
Кто-нибудь наблюдал такую проблему? Какие-либо предложения?