小编Bri*_*oth的帖子

使用 NSPersistentDocument 读写元数据的理想场所?

在我的 NSPersistentDocument 子类中,我需要在保存文档时将一些元数据保存到我的文档中,当然,当我打开文档时再读回来。我确实让它工作了,但我不确定这是否是处理它的正确方法。(我的测试反映了一个新的、未保存的文档被保存然后再次打开。新的、未保存的文档直到第一次保存后才分配 NSPersistentStore。)

这是我的工作代码,其中包含与我的测试和如何处理此问题的思考过程相关的注释:

- (BOOL)readFromURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError
{

    // No persistent store available yet

    BOOL result = [super readFromURL:absoluteURL ofType:typeName error:outError];

    // Persistent store available, but metadata may be already altered by configurePersistentStoreCoordinatorForURL: 
    // if I were set the data there instead of in writeToURL:

    if (result == YES)
    {
        // Read metadata
        NSPersistentStore *persistentStore = [self.managedObjectContext.persistentStoreCoordinator persistentStoreForURL:absoluteURL];
        NSString * uuid = [persistentStore metadata][DefaultLocationUUIDKey];
        self.defaultLocationUUID = uuid;
    }

    return result;
}



- (BOOL)writeToURL:(NSURL *)absoluteURL ofType:(NSString …
Run Code Online (Sandbox Code Playgroud)

cocoa core-data

5
推荐指数
0
解决办法
437
查看次数

NSPersistentDocument"不支持的商店类型"异常

我现在遇到过两次这个问题:Xcode 4.1,Lion和NSPersistentDocument Core Data项目.

我的程序运行正常,直到我向模型中的一个实体添加了两个"二进制数据"属性.现在,当我运行应用程序并尝试保存文档时,会从内部抛出异常configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:.

上次我开始收到此错误时,就是我更新了项目目标设置中的设置.那时,重置更改的设置没有任何效果,我不得不从备份恢复Xcode项目文件,然后它工作 - 所以它不是代码相关的.

这是抛出异常时的日志:

2011-08-27 17:34:00.867 MyAppName[5690:707] Unsupported store type.
2011-08-27 17:34:00.879 MyAppName[5690:707] (
    0   CoreFoundation                      0x00007fff8ae0e986 __exceptionPreprocess + 198
    1   libobjc.A.dylib                     0x00007fff8e28cd5e objc_exception_throw + 43
    2   CoreData                            0x00007fff9576776a -[NSPersistentStoreCoordinator addPersistentStoreWithType:configuration:URL:options:error:] + 1530
    3   AppKit                              0x00007fff9190af88 -[NSPersistentDocument configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:] + 554
    4   MyAppName                            0x0000000100001af4 -[MyAppNameDocument configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:] + 244
    5   AppKit                              0x00007fff91bc6697 -[NSPersistentDocument(NSDeprecatedInternal) _configurePersistentStoreCoordinatorForURL:ofType:error:] + 172
    6   AppKit                              0x00007fff91909a82 -[NSPersistentDocument writeToURL:ofType:forSaveOperation:originalContentsURL:error:] + 418
    7   MyAppName                            0x0000000100001c51 -[MyAppNameDocument writeToURL:ofType:forSaveOperation:originalContentsURL:error:] + 161
    8   AppKit                              0x00007fff917c5062 -[NSDocument _writeSafelyToURL:ofType:forSaveOperation:forceTemporaryDirectory:error:] …
Run Code Online (Sandbox Code Playgroud)

xcode core-data objective-c nspersistentdocument osx-lion

4
推荐指数
1
解决办法
1094
查看次数