How to create the magic .xcdatamodeld folder / package?

后端 未结 2 1850
臣服心动
臣服心动 2020-12-14 11:09

Recently, I managed (by accident, don\'t ask) to delete my Core Data datamodel files and classes. And I was completely and utterly unable to create the files again to be exa

相关标签:
2条回答
  • 2020-12-14 11:18

    During my development, I could not find Entities that I added later on. What worked for me:

    Uninstall the App EVERY TIME you change the Data Model!

    The Data Model is cached by Core Data between installs, to make sure the integrity stays in tact. Delete the App from the simulator / iPhone to be able to test your changes.

    PS: does anyone know how to do that automatically?

    0 讨论(0)
  • 2020-12-14 11:29

    the coredata model bundle keeps all your model versions. The model with the green checkmark is the current version, data stored into coredata will be saved using this scheme. All other datamodel versions are there to support database migration, data stored in a different version can be upgraded automatically if there are only small changes in the data model.

    To create a model bundle you select the single model, open the Design menu in the mainmenu and select Data Model and Add Model Version.

    Your app is crashing because it expects a datamodel bundle with the type momd.

    NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"foobar" ofType:@"momd"];
    

    If you have only one Datamodel it is not compiled into a "momd"-file. But I forgot the actual extension.


    In Xcode4 Add Model Version can be found within the Editor main menu.

    0 讨论(0)
提交回复
热议问题