我正在尝试使用静态库创建CoreDataKit。
它包含:
由于静态库只能包含对象文件,因此模型文件不能成为静态库的一部分。
要实现这一点,我创建了仅包含模型文件的单独捆绑软件,并使用此链接(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).
另一种方法可以是使用框架,它可以包含模型文件,并且可以被动态加载。
由于加载动态框架可能会花费一些额外的时间,因此我有兴趣创建静态库以加快访问速度。