我正在尝试使用静态库创建 CoreDataKit。
它包含:
- xcdatamodel 或模型文件
- NSManagedObject 或实体 (
由于静态库只能包含对象文件,因此模型文件不能成为静态库的一部分。
为了实现它,我创建了只有模型文件的单独包,并使用此链接将此包复制到我的 xcode 项目(iPhone 静态库中的核心数据)
现在,在加载 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).
另一种方法是使用可以包含模型文件并且可以动态加载的框架。
由于加载动态框架可能需要一些额外的时间,我有兴趣创建静态库以加快访问速度。