相关疑难解决方法(0)

Xcode 4,核心数据模型版本 - 设置当前版本

我对如何在Xcode 4中执行以下功能以设置在创建版本化模型后使用的模型感到困惑.

设计>数据模型>设置当前版本

core-data xcode4

181
推荐指数
3
解决办法
3万
查看次数

为已发布的iPhone应用程序迁移Core Data数据库的步骤

为已更新的iPhone应用程序迁移Core Data DB更改,建议采取哪些步骤?

在发布Core Data应用程序之前是否需要(应该)完成任何先前步骤?

iphone data-migration core-data

8
推荐指数
1
解决办法
6611
查看次数

iPhone CoreData迁移失败,"无法找到源存储的模型"

我有一个使用CoreData的iPhone应用程序.我最近对数据模型做了一些小改动,现在每次打开应用程序时都会收到错误"无法找到源存储模型".

我有2个版本的数据模型,我所做的唯一更改是添加了一些字段.我正在按照这里最初工作的指南,然后就在今天,在添加一些额外的字段后,它会中断.所有其他字段都标记为可选,并且都具有默认值.迁移代码如下:

NSURL *storeUrl = [NSURL fileURLWithPath:[[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"xxx.sqlite"]];

// migration options
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                         [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                         [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {
...
}
Run Code Online (Sandbox Code Playgroud)

在这里成功创建了managedObjectModel:

- (NSManagedObjectModel *)managedObjectModel {

if (managedObjectModel != nil) {
    return managedObjectModel;
}

NSString *path = [[NSBundle mainBundle] pathForResource:@"DataModelName" ofType:@"momd"];
NSURL *momURL = [NSURL fileURLWithPath:path];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL];

return managedObjectModel;
}
Run Code Online (Sandbox Code Playgroud)

我已经将该问题追溯到版本对于1个实体的不匹配.抛出的错误包括对实体的错误: …

migration iphone cocoa-touch core-data ios

8
推荐指数
1
解决办法
3816
查看次数