使用CoreData创建静态库时出现问题 - 无法使用nil模型创建NSPersistentStoreCoordinator

时间:2012-06-04 17:50:40

标签: iphone objective-c ios core-data

如何引用我在静态库项目中创建的模型?

这将返回null并抛出并发生错误,因为资源存在于此静态库中:

     //this code is in the static library
    - (NSManagedObjectModel *)managedObjectModel
{
    if (__managedObjectModel != nil) {
        return __managedObjectModel;
    }

    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"eCommerceEngine" withExtension:@"mom"];
    __managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
    return __managedObjectModel;
}

如何将此更改为从此静态库中提取?

2 个答案:

答案 0 :(得分:4)

在iPhone上,静态库具有.a扩展名,只能包含代码。这意味着任何资源(xib,图像等)必须以捆绑方式打包或单独运输。

请参阅iOS Library With Resources

答案 1 :(得分:4)

如果您想使用库中的预配置模型,我建议使用Entity API以编程方式构建模型,而不是使用模型文件。