2016-11-11 57 views
0

我正在嘗試爲iOS創建我的第一個框架。框架中的核心數據只顯示一個實體

我有它的核心數據,在我的xcdatamodel我有兩個entites,我爲兩個模型自動生成的類,但是當我打印[[managedObjectModel entities] valueForKey:@"name"]我只看到第一個實體。

而且當我嘗試第二實體init fetchRequest withEntityName我沒有看到它。

而最奇怪的是,對於第一個實體,一切都很完美。另外,如果我在第一個實體內部進行更新,我可以看到它,所以我相信它有最新版本。

+0

您是否在添加新實體後從模擬器中刪除了您的應用? – CodeChanger

+0

@CodeChanger我正在iPhone上工作,但是,我試過了,我也嘗試刪除podspec文件中的preserve_paths,然後再次放回去,但同樣的事情發生 –

+0

你能否從iPhone刪除該應用程序並清除派生數據並嘗試agin。 – CodeChanger

回答

0

按我的經驗,我使用的所有私有變量,它不會訪問了側framework,這樣可能是這種情況。

,或者您必須指定您的framework核心數據bundle路徑,使得entity將在您使用動態framework目前項目進入一兩件事。

像這樣:

lazy var managedObjectModel: NSManagedObjectModel = { 
    // The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model. 
    let carKitBundle = NSBundle(identifier: "YOUR_FRAMEWORK_BUNDLE_PATH") 

    let modelURL = carKitBundle!.URLForResource("YOUR_MODEL_NAME", withExtension: "momd")! 
    return NSManagedObjectModel(contentsOfURL: modelURL)! 
}() 

可能它會幫助你得到你的實體在當前項目。

讓我知道它是否會解決您的問題。

謝謝。