2016-11-11 58 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)! 
}() 

可能它会帮助你得到你的实体在当前项目。

让我知道它是否会解决您的问题。

谢谢。