Прежде всего вы проверяете журналы сбоя, вы можете прочитать причину сбоя там.Могу поспорить, что объекты в памяти не могут быть сохранены из-за ограничений вашей модели данных.
Например, значение одного из полей объекта равно nil
, но вы выбрали Not Null
ограничение в XCode во время моделирования вашей базы данных,Проверьте вашу базу данных на наличие ограничений: не ноль, дополнительная проверка значений (максимальное значение, минимальное значение, регулярные выражения для строк и т. Д.).
И добавьте этот код после сохранения:
if (error) {
NSLog(@"Data cannot be saved: %@", error);
}
UPD Как сказал Paul.s, правильный способ проверки:
if (![context save:&error]) {
NSLog(@"Data cannot be saved: %@", error);
}
Более подробная информация об обработке подобных ошибок представлена здесь