Я пытался использовать CoreData и сталкиваюсь с этой ситуацией.
После создания моего .xcdatamodeld
я начал тестировать все объекты по отдельности, создаваяобъект, который затем сохраняется в Coredata, извлекает их обратно и печатает все сохраненные значения этого конкретного объекта.Все шло довольно хорошо.Поэтому я создал точку, в которой я должен получить все конкретные объекты ManagedObjects и установить их на CompletedGameResultManagedObject
, который является моей центральной точкой в этой конкретной модели.
Это метод CompletedGameResultManagedObject, используемый для настройки значений перед сохранением.в CoreData
func managedObject(from context: NSManagedObjectContext){
let entity = NSEntityDescription.entity(forEntityName: String(describing: CompletedGameResultManagedObject.self), in: context)
let newData = NSManagedObject(entity: entity!, insertInto: context) as! CompletedGameResultManagedObject
//Relationships
newData.gamePlayedInformation = gamePlayedInformation.managedObject(from: context)
newData.environmentInformation = environmentInformation.managedObject(from: context)
newData.gameResultData = result.managedObject(from: context)
//Entity Properties
newData.studentIdentifier = studentIdentifier
newData.tutorIdentifier = tutorIdentifier
}
Этот метод, постоянство с CoreData, приводит к сбою моего приложения с этим Журнал ошибок
Это решается, если по какой-то причине я иду и комментируюлюбая newData
атрибуция.Превращение любой из строк в комментарий делает мои CoreData работающими.В основном, если я прокомментирую
//newData.gamePlayedInformation = gamePlayedInformation.managedObject(from: context)
CoreData сможет сохранить CompletedGameResultManagedObject
.
Я попытался комментировать и раскомментировать каждую из строк, чтобы увидеть, если проблема возниклаот одного из них, и он будет работать бесперебойно во всех случаях, когда я прокомментировал хотя бы одну строку.
Я добавил эти аргументы, чтобы помочь отладке:
-com.apple.CoreData.SQLDebug 1
-com.apple.CoreData.ConcurrencyDebug 1
-com.apple.CoreData.MigrationDebug 1
Я все еще не мог понять, что происходит.
Пытался проверить, не повреждено ли какое-либо значение перед вызовом CoreDataСохранить метод.Но это был не тот случай, все значения были правильными и были сохранены и извлечены правильно, когда я сохранил данные с одним из свойств или строк с указанием связи.
Это не имеет никакого смысла вообще.Я полностью теряюсь в понимании того, почему это дает сбой и почему это работает, если комментарий строка.