Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why the Extension is "momd" but not "xcdatamodel" when search the path for the Model file

Tags:

ios

core-data

I create a Master-Detail application using Core Data. And there is a simple code to get the path for Model file:

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

I have no idea why the extension isn't "xcdatamodel" but "momd".

Does anyone know the answer?

like image 967
VIRGIL Avatar asked May 14 '12 08:05

VIRGIL


1 Answers

The mom and momd files are compiled versions of xcdatamodel and xcdatamodeld files.

There information about how the compiling process works here (page 31). To quote from the docs:

A data model is a deployment resource. In addition to details of the entities and properties in the model, a model you create in Xcode contains information about the diagram—its layout, colors of elements, and so on. This latter information is not needed at runtime. The model file is compiled using the model compiler, momc, to remove the extraneous information and make runtime loading of the resource as efficient as possible.

like image 167
Amy Worrall Avatar answered Nov 01 '22 06:11

Amy Worrall