【问题标题】:app getting crashed while creating the managedObjectModel of Coredata应用程序在创建 Coredata 的 managedObjectModel 时崩溃
【发布时间】:2012-02-02 05:49:35
【问题描述】:

我正在从以下代码创建一个 managedObjectModel 对象

- (NSManagedObjectModel *)managedObjectModel {

if (managedObjectModel_ != nil) {
    return managedObjectModel_;
}
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"DataHouse" ofType:@"momd"];

NSURL *modelURL = [NSURL fileURLWithPath:modelPath];
managedObjectModel_ = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];

return managedObjectModel_;

}

我的 xcode 项目中有 DataHouse.xcdatamodeld 文件。这段代码工作得很好。现在,问题来了……我已经按照this wonderful link 用我的代码制作了一个框架。我已将我的框架包含在一个新项目中并尝试运行它。该应用程序在上面的代码库中完全崩溃了。我也知道它的原因,但无法解决它。这里的问题是,在创建 managedObjectModel 时,编译器在 Main bundle 中寻找名为 DataHouse.xcdatamodeld 的文件。但这个文件是新框架的一部分,不存在于主包中。现在,我应该如何解决这个问题..任何想法请...

【问题讨论】:

    标签: ios xcode core-data xcode4.2 core-data-migration


    【解决方案1】:

    NSBundle 上还有其他几个类方法可以加载包而不是 mainBundle。有了它们,您应该能够指定正确的捆绑包位置。

    看看here

    【讨论】:

    • 是的,伙计。但问题是在主项目中,数据模型类将成为主包的一部分。但是,由于框架,它不再属于主包......我在这一点上被打动了......有什么帮助吗???
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多