无意中删除了XCDataModel - 应用程序现在抛出NSInvalidArgumentException - iPhone

时间:2012-08-31 09:25:30

标签: iphone objective-c ios core-data

我不小心删除了我的核心数据模型文件,然后我尝试重新添加它,但现在我的应用程序抛出以下内容:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot create an NSPersistentStoreCoordinator with a nil model'
*** First throw call stack:
(0x1ef6022 0x186ecd6 0x1593a75 0x3021 0x2cea 0x34b0 0x26e5 0x6f0386 0x6f1274 0x700183 0x700c38 0x6f4634 0x2089ef5 0x1eca195 0x1e2eff2 0x1e2d8da 0x1e2cd84 0x1e2cc9b 0x6f0c65 0x6f2626 0x22ed 0x2255)
terminate called throwing an exception(lldb)

任何人都可以解释我需要采取的步骤让我的应用再次运作吗?

干杯,

Tysin

1 个答案:

答案 0 :(得分:0)

虽然显然应该使用某种形式的源代码控制,但这是一个小项目,所以我没有创建一个存储库。对于那些在同一条船上的人,以下解决了我的问题:

在方法中:

// Returns the managed object model for the application.
// If the model doesn't already exist, it is created from the application's model.
- (NSManagedObjectModel *)managedObjectModel
{
    if (_managedObjectModel != nil) {
        return _managedObjectModel;
    }
    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"AppName" withExtension:@"momd"];
    _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
    return _managedObjectModel;
}

我换了一行:

NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"AppName" withExtension:@"momd"];

为:

NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"AppName" withExtension:@"momd"];

我刚从模型文件扩展名中删除了'd',一切正常。