在iOS中使用CoreData创建静态库

时间:2019-02-02 16:31:14

标签: ios swift static-libraries swift-framework

我正在尝试使用静态库创建CoreDataKit。

它包含:

  1. xcdatamodel或模型文件
  2. NSManagedObject或实体(

由于静态库只能包含对象文件,因此模型文件不能成为静态库的一部分。

要实现这一点,我创建了仅包含模型文件的单独捆绑软件,并使用此链接(core data in a static library for the iPhone)将此捆绑软件复制到我的xcode项目中

现在,在加载Person实体

let personEntity = NSManagedObject(entity: entity, insertInto: context) as! Person 

我遇到了以下错误:

Unable to load class named 'MyStaticLibraryModels.Person' for entity 'Person'.  Class not found, using default NSManagedObject instead.

和异常:

Could not cast value of type 'NSManagedObject_Person_' (0x600000243b40) to 'ONCoreDataKit.Person' (0x105d71a68).

另一种方法可以是使用框架,它可以包含模型文件,并且可以被动态加载。

由于加载动态框架可能会花费一些额外的时间,因此我有兴趣创建静态库以加快访问速度。

0 个答案:

没有答案