CoreData, как определить новую версию приложения, чтобы я мог обновить модель?

У меня есть очень простая модель, которая создается, когда приложение запускается впервые и заполняется содержимым списка. Мне нужно будет заново создать модель, когда будет загружено и запущено обновление приложения. Я знаю, что вы можете создавать версии coredata, но я не предвижу, что сама модель изменится. Мне просто нужно пройти через существующий массив объектов и добавить новые объекты из списка. Для этого мне нужно проверить номер версии приложения и как-то обнаружить, что он отличается от модели на устройстве.

2 ответа

Взгляните на этот метод в NSPersistentStore

+ (BOOL)setMetadata:(NSDictionary *)metadata forPersistentStoreWithURL:(NSURL *)url error:(NSError **)error

Вы можете установить произвольный словарь пар ключ / значение. Сделайте один, чтобы представить вашу версию. Затем вы можете загрузить этот словарь с помощью:

+ (NSDictionary *)metadataForPersistentStoreWithURL:(NSURL *)url error:(NSError **)error

Если вы хотите версию приложения, просто проверьте Bundle version введите файл info.plist.

Другие вопросы по тегам