Я создаю приложение с основными данными на Xcode 3.2.5, и он отлично работает. Но теперь я устанавливаю Xcode 4.3.1, и теперь мои данные не сохраняются при закрытии приложения. [context save:&error]
- больше не работает (это не сохранение данных). Если у кого-то есть такая же проблема, пожалуйста, сообщите, как ее разрешить.Основные данные не сохраняют мои данные. И я теряю все сохраненные данные после закрытия приложения.
Основные данные не сохраняют мои данные. И я теряю все сохраненные данные после закрытия приложения.
ответ
Трудно ответить, не более подробной информации, но вы должны иметь такой метод в вашем приложении:
- (void)saveContext
{
NSError *error = nil;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil)
{
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error])
{
/*
Replace this implementation with code to handle the error appropriately.
abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
*/
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
}
Таким образом, если есть какая-то ошибка, вы получите его в консоли.
В принципе, каждый раз, когда вы вносите изменения в свои данные, вы должны вызвать метод saveContext, а не только при закрытии приложения.
Посмотрите также на эволюцию основных данных с течением времени, возможно, ваше приложение было создано для другой версии iOS, и ваш код нуждается в обновлении.
У меня есть этот. И это отлично работает. Но теперь это не сработает. Единственное изменение, которое я делаю, устанавливает новый Xcode. – rowwingman
Тогда, может быть, при запуске что-то сбросит ваши данные? – moxy
да, вы правы. Я перезагружаю каждый раз, когда моя база данных предварительной установки)) – rowwingman
Прежде всего, вы проверяете журналы сбоев, вы можете прочитать причину аварии там. Я уверен, что в памяти объекты не могут быть сохранены из-за ограничения вашей модели данных.
Например, значение одного из полей объекта: nil
, но вы выбрали ограничение Not Null
в Xcode во время моделирования базы данных. Проверьте эту базу данных на наличие ограничений: не null, дополнительная проверка для значений (максимальное значение, минимальное значение, регулярные выражения для строк и т. Д.).
И добавить этот код после сохранения:
if (error) {
NSLog(@"Data cannot be saved: %@", error);
}
UPD Как Paul.s говорят, что правильный способ проверки является:
if (![context save:&error]) {
NSLog(@"Data cannot be saved: %@", error);
}
Более подробная информация об обработке ошибок, как, что представленные here
Неправильный способ проверить наличие ошибки. –
Было бы вежливо обеспечить правильный путь для него;) –
Вы проверяете возврат '- (BOOL) save: (NSError **) error', если это возвращает' NO', значит, это не сработало, а затем вы должны допросить Ошибка. Вы никогда не допросите ошибку сразу. –
- 1. Основные данные не сохраняют данные до закрытия приложения
- 2. Основные данные не сохраняют данные в сущности в первый раз
- 3. Основные данные не сохраняют данные между запусками приложений
- 4. Почему основные данные не правильно сохраняют атрибуты?
- 5. Загрузить данные после закрытия приложения
- 6. Основные данные не сохраняют объекты настойчиво
- 7. Общие предпочтения не сохраняют мои данные
- 8. Как обновить основные данные и сохранить данные, сохраненные пользователем?
- 9. Основные данные сохраняют создание сохраненного документа ... папки
- 10. Основные данные не сохраняют объекты и являются медленными
- 11. Данные Ember не загружают все мои данные
- 12. Основные данные сохраняют только последний элемент
- 13. Основные данные сохраняют записи, используя отношения «многие»?
- 14. Android: можно ли использовать мои данные после закрытия моего приложения.
- 15. основные данные сохраняют только последний элемент
- 16. Selenium - сохраненные данные сеанса
- 17. Основные данные и полупостоянные данные
- 18. NSUserdefault и основные данные
- 19. Данные PouchDB удаляются после закрытия приложения
- 20. Основные данные пустые после перезапуска приложения
- 21. Как восстановить данные после закрытия другого приложения
- 22. NSLog и основные данные
- 23. Почему мои основные данные не обновляются?
- 24. Основные данные и UIActivityViewController
- 25. Основные данные не сохраняют связь, которая была удалена
- 26. Данные Swift core не сохраняют данные навсегда
- 27. Основные данные не сохраняются
- 28. Основные данные и TabViewController
- 29. Основные данные пустые после сбоя
- 30. Данные в HashMap после закрытия приложения android
Есть ли у объекта 'error' какие-либо данные ??? –
Ошибка произошла. Все в порядке. Но когда приложение закрыло данные, тоже разобрались. – rowwingman
Какой тип магазина вы используете? Например, вы не используете память в памяти? –