В моем приложении используется платформа CoreData
, и я хочу проверить совместимость между метаданными хранилища и управляемой объектной моделью. Делаю стандартно:
BOOL isModelCompatible = [model isConfiguration:nil
compatibleWithStoreMetadata:metadata];
и он возвращает NO
. Однако объекты в метаданных такие же, как и в модели. Одно и то же количество сущностей, и каждая сущность имеет одно и то же имя. Однако модель действительно изменилась с тех пор, как магазин был создан с использованием этой модели, я удалил пару атрибутов в одной сущности. И мне интересно, достаточно ли этого, чтобы модель стала несовместимой с метаданными магазина. Я заглянул в официальную документацию, и там написано:
This method compares the version information in the store metadata with the entity versions of a given configuration
И проблема (как это часто бывает, когда я читаю документы Apple) в том, что я не совсем уверен, что именно означает эта фраза. Так может ли кто-нибудь объяснить больше по этой теме? Как CoreData
решает, совместима ли модель с метаданными, если объекты в метаданных такие же, как и в модели?