Подтвердить что ты не робот

Почему расширение "momd", но не "xcdatamodel" при поиске пути к файлу модели

Я создаю приложение Master-Detail с использованием Core Data. И есть простой код для получить путь к файлу модели:

NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"];

Я понятия не имею, почему расширение не "xcdatamodel", а "momd".

Кто-нибудь знает ответ?

4b9b3361

Ответ 1

Файлы mom и momd являются скомпилированными версиями файлов xcdatamodel и xcdatamodeld.

Информация о том, как работает процесс компиляции здесь (стр. 31). Цитировать из документов:

Модель данных - это ресурс развертывания. В дополнение к деталям объектов и свойств модели модель, которую вы создаете в Xcode, содержит информацию о диаграмме - ее макете, цветах элементов и т.д. Эта последняя информация не требуется во время выполнения. Файл модели скомпилирован с использованием компилятора модели momc, чтобы удалить постороннюю информацию и сделать загрузку ресурса как можно эффективнее.