我目前正在圍繞核心數據的一些問題。 我有一個用戶模型在自己的存儲中,我沒有任何控制權,因爲它隨框架一起發運。此模型的持久性商店協調員,託管對象模型和上下文會自動創建並且無法觸及。在這裏面,這種模式有一個用戶實體核心數據跨存儲提取屬性
在另一方面,我有一個性質模型中有一個性能實體,我有完全的控制權。在那裏,我爲其他商店中的某些用戶實體存儲屬性。用戶和財產實體的id屬性與外鍵相似。 該模型擁有自己的持久性商店契約者,託管對象模型和上下文。
我現在想要的是有關聯的用戶實體爲實體,所以我可能是能夠綁定到類似myproperty.user.someValueOfTheUserEntity
關鍵路徑性質的屬性(我知道,myProperty的可能是一個數組使用提取的屬性時)。
但是,由於不支持跨店鋪關係,我想通過獲取屬性使用弱關係。那一個將只需要匹配兩個對應的id屬性。我在性能實體的類文件創建在Xcode和所需存取的用戶已取得的財產(如建議在其他的問題,我在治療由所取得的財產作爲數組返回的值)。
不過,我無法設置一個目的地實體在Xcode中所取得的財產,作爲目標的實體駐留在一個完全不同的商店。我是否也必須定義我的用戶實體屬性存儲?如果是這樣,Core Data如何知道該實體不應該從我的屬性存儲中獲取,而是從用戶存儲中獲取?
某些線程使用的配置此提及,但我無法找到更進一步比提「這種用途的配置」的任何文件。
有人可以告訴我如何設置跨存儲獲取屬性?#
感謝您的答覆對這個的幫助。 但是,現在當現在將只讀存儲添加「用於打開存儲的模型與用於創建存儲的模型不兼容」時,會引發錯誤。 媽媽是從.xcdatamodel文件創建的,該文件包含其配置中的所有實體。只需添加動態存儲就不會引發問題,並且還會爲所有實體創建帶有表格的.sqlite文件。只是添加靜態存儲不起作用。 我用我的代碼創建了更詳細的Gist(https://gist.github.com/3296730)。 任何想法? – BinaryBucks 2012-08-08 17:20:53
這可能意味着您必須使用最新模型重新創建存儲文件(即sqlite數據庫)。我的代碼:'NSString * path = [[NSBundle mainBundle] pathForResource:@「MyModel」ofType:@「momd」]; NSURL * momURL = [NSURL fileURLWithPath:path]; _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL];' P.S.對於很長時間的回覆感到抱歉 – 2012-08-21 10:48:36