NSURagedObjectModel initWithContentsOfURL返回nil,尽管modelURL有效

new*_*per 20 iphone nsmanagedobject

我的NSManagedObjectModel返回nil,尽管路径正确.

        NSString *modelKey = [NSString stringWithFormat:@"/%@/Model", name];
    NSString *modelPath = [((Configuration *)[Configuration shared]) stringEntry:modelKey];
    NSURL *modelURL = nil;
    if ( ! [modelPath contains:@"://"] ) {
        modelPath = PathForBundleResource( modelPath );
        modelURL = [NSURL fileURLWithPath:modelPath];
    }
    NSManagedObjectModel *m = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
Run Code Online (Sandbox Code Playgroud)

NSString*PathForBundleResource(NSString*relativePath)

    NSString* resourcePath = [[NSBundle mainBundle] resourcePath];
return [resourcePath stringByAppendingPathComponent:relativePath];
Run Code Online (Sandbox Code Playgroud)

我重置了模拟器,做了一个干净的构建,但没有任何帮助.

我是iPhone编程的新手(特别是核心数据).

非常感谢任何帮助.

编辑:我编辑了有关xcdatamodeld文件的原始帖子.它最初没有正确连接,但现在它仍然存在同样的问题.

编辑2:显然,xcdatamodel的名称在链接后对xcdatamodel的名称有一些变化.它现在正在运作.感觉很蠢.不知道如何删除这个问题.

小智 58

重命名.xcdatamodeld文件后,我遇到了同样的问题.关闭并重新打开Xcode客户端解决了这个问题.

  • 同样在这里:重命名+建筑==破碎(Apple的代码).重启Xcode ==修复.是的StackOverflow!我会浪费时间failikng找到:( (3认同)
  • 重命名.xcdatamodeld文件,这是一个奇怪的错误.感谢重启帮助. (2认同)