別のバージョンの DataModel を追加した後、NSManagedDataModel にエンティティがないのはなぜですか?
MacBook Pro Late 2008、OS X 10.8.5、Xcode 5.0.2、プロジェクトには 2 つのアプリがあり、1 つは OS X、もう 1 つは iOS、両方ともデータモデルを共有しています 4 つのクラスのそれぞれが 2 つの同一の変更を受け取りました。つまり、2 つの属性が追加されました。
OS Xアプリで以下の4行を実行すると、
NSString *path = [[NSBundle mainBundle] pathForResource:@"SqliteFromXml" ofType:@"momd"];
NSURL *momdURL = [NSURL fileURLWithPath:path];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:momdURL];
NSLog(@"path=%@\nDataModel=%@\nEntities in DM=%@",path,managedObjectModel,[managedObjectModel entities]);
これは出力です:
path=/Users/appleuser/SqliteFromXml/Debug/SqliteFromXml.app/Contents/Resources/SqliteFromXml.momd
DataModel=(<NSManagedObjectModel: 0x1001d1b80>) isEditable 0, entities {
}, fetch request templates {
}
Entities in DM=( )
実行ごとに momd バンドルが作成されますが、エンティティはありません。
.app バンドルの内容は次のようになります。
https://www.dropbox.com/s/68iy8gjqbv0m0tq/Screenshot%202014-02-16%2018.03.02.png
どうもありがとう、マーク