Ответ 1
Правила удаления определяют поведение Core Data во время выполнения: если один объект удален, другие отношения могут быть установлены в NULL, а также могут быть удалены связанные объекты.
Поэтому я предположил, что правила удаления хранятся только в модели Core Data, но не в постоянном файле хранилища.
Чтобы убедиться в этом, я создал 2 файла хранилища из двух моделей Core Data с идентичными объектами, но с разными правилами удаления. NSStoreModelVersionHashes
в словаре постоянных хранилищ metadata
были идентичны.
Фактически оба файла SQLite были идентичны с единственным исключением "Z_UUID" в таблице "Z_METADATA", который является NSStoreUUID
файла постоянного хранилища.
Кроме того, addPersistentStoreWithType:...
завершится с ошибкой, если хеш-версия версии загруженного хранилища отличается от хэшей в модели.
Поэтому изменение правил удаления не должно быть проблемой.