2014-12-05 78 views
0

我想用iCloud創建一個CoreData存儲。繼iCloud的編程指南核心數據示例代碼,我有這樣的一段代碼:爲什麼NSPersistentStoreCoordinator不能識別我的託管對象模型?

NSPersistentStoreCoordinator *coordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: salonbook.xcdatamodeld]; 

這是我管理對象模型的圖像

enter image description here

我m出現錯誤:使用未聲明的標識符'salonbook'。

爲什麼?

回答

0

由於您要求它尋找名爲salonbook的變量(未聲明),您將看到該錯誤。您需要在此處傳遞對NSManagedObjectModel實例的引用。通常這意味着你會使用self.managedObjectModel,但這取決於你的其他代碼。步驟必須是:

  1. 從模型文件
  2. 創建NSManagedObjectModel例如使用模型對象創建NSPersistentStoreCoordinator
+0

嗨湯姆...我很抱歉,但我無法弄清楚如何*從模型文件創建NSManagedObjectModel ...我試過NSManagedObjectModel *媽媽= [[NSManagedObjectModel alloc] initWithContentsOfURL:salonbook];但那不是。你能給我一個樣本嗎?或提示?或者我可以找到一個例子? :D – SpokaneDude 2014-12-05 21:36:05

+1

沒關係......我想出了......對於那些有同樣問題的人,下面是如何創建基於我上面使用的命名約定的NSManagedObjectModel: NSString * modelPath = [[NSBundle mainBundle] pathForResource:@「salonbook」ofType:@「momd」]; NSURL * modelURL = [NSURL fileURLWithPath:modelPath]; NSManagedObjectModel * managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; – SpokaneDude 2014-12-05 21:55:30

相關問題