相关疑难解决方法(0)

用于打开商店的模型与用于创建商店的模型不兼容

我在xcode 3.2中创建了一个Core Data模型,在Xcode 4.2中升级后,我添加了NSManagedObject子类的新实体(请参阅新实体).

首先,它看起来很奇怪,因为它与旧的不在同一组中.这是我的xcode 4.2上的图片(AlkitabDB是我在xcode 3.2中创建的,EndeDB是当前xcode版本中的新版本(4.2):

新实体未分组在xdatamodel中

第二件事,我让它原样,然后我以与第一个实体(旧实体)相同的方式访问第二个实体(新实体),并出现标题错误.

这是错误:

2012-01-16 21:13:38.496 iHuria[55953:207] Unresolved error Error Domain=NSCocoaErrorDomain Code=134100 "The operation couldn’t be completed. (Cocoa error 134100.)" UserInfo=0x8829cd0 {metadata=<CFBasicHash 0x882a370 [0x1839b38]>{type = immutable dict, count = 7,
entries =>
    2 : <CFString 0x8829b90 [0x1839b38]>{contents = "NSStoreModelVersionIdentifiers"} = <CFArray 0x8829ff0 [0x1839b38]>{type = immutable, count = 0, values = ()}
    4 : <CFString 0x8829bc0 [0x1839b38]>{contents = "NSPersistenceFrameworkVersion"} = <CFNumber 0x8829770 [0x1839b38]>{value = +320, type = kCFNumberSInt64Type}
    6 : <CFString 0x8829bf0 [0x1839b38]>{contents = "NSStoreModelVersionHashes"} = …
Run Code Online (Sandbox Code Playgroud)

iphone core-data ios

180
推荐指数
14
解决办法
9万
查看次数

轻量级迁移NSPersistentDocument

我正在尝试在Core Data中轻量迁移SQLite存储.使用Xcode 4.3.1在Lion 10.7.3上工作.

在我的NSPersistentDocument子类(AccountDocument)中,我重写了用于配置持久性存储协调器的方法,以便它为迁移获取正确的选项:

- (BOOL)configurePersistentStoreCoordinatorForURL:(NSURL *)url ofType:(NSString *)fileType modelConfiguration:(NSString *)configuration storeOptions:(NSDictionary *)storeOptions error:(NSError **)error
{
    NSMutableDictionary *newStoreOptions;
    if (storeOptions == nil) {
        newStoreOptions = [NSMutableDictionary dictionary];
    }
    else {
        newStoreOptions = [storeOptions mutableCopy];
    }
    [newStoreOptions setObject:[NSNumber numberWithBool:YES] forKey:NSMigratePersistentStoresAutomaticallyOption];
    [newStoreOptions setObject:[NSNumber numberWithBool:YES] forKey:NSInferMappingModelAutomaticallyOption];

    BOOL result = [super configurePersistentStoreCoordinatorForURL:url ofType:fileType modelConfiguration:configuration storeOptions:newStoreOptions error:error];
    return result;
}
Run Code Online (Sandbox Code Playgroud)

(感谢Malcolm Crawford的提示:http://homepage.mac.com/mmalc/CocoaExamples/controllers.html)

当我运行应用程序时,它在NSPersistentDocument的实现中失败-managedObjectModel:

* thread #1: tid = 0x2703, 0x00007fff931d9350 libobjc.A.dylib`objc_msgSend_vtable13 + 16, stop reason = EXC_BAD_ACCESS (code=13, …
Run Code Online (Sandbox Code Playgroud)

cocoa core-data objective-c nspersistentdocument osx-lion

45
推荐指数
2
解决办法
5526
查看次数

找不到momd文件:核心数据问题

哎呀!我把事搞砸了!

我是Core Data noob,正在开发我的第一个iOS应用程序.经过多次Stack Overflowing我正在使用这段代码:

NSString *path = [[NSBundle mainBundle] pathForResource:@"CoreData" ofType:@"momd"];
if (!path) {
    path = [[NSBundle mainBundle] pathForResource:@"CoreData" ofType:@"mom"];
}
NSAssert(path != nil, @"Unable to find Resource in main bundle");
Run Code Online (Sandbox Code Playgroud)

CoreData是我的应用程序的名称.

我试图通过在我的iPhone模拟器中找到sqlite文件的路径,然后进入并插入该sqlite文件,将初始数据输入到应用程序中.但在某些时候,我移动了sqlite(认为它会创建一个新副本),从模拟器中删除应用程序,sqlite文件消失了.我不确定我是否会遗漏这个过程的某些部分(这是几个小时前),但最终的结果是一切都搞砸了.

如何重新定位此sqlite/momd文件?"清洁"和"清除所有目标"显示为灰色.

我很高兴发布我的应用程序中的相关代码,这将有助于解释这个问题但是有大量与Core Data相关的代码,我不明白,所以我不确定要发布什么部分!任何帮助是极大的赞赏.

iphone core-data objective-c ipad ios

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