Objective-C:我无法配置和使用NSPersistentStoreCoordinator



通过融合我在这个论坛上读到的东西和我在苹果文档中发现的其他东西,我试图获得一个正常运行的NSManagedObjectContext。所以,我写了以下代码:

NSManagedObjectModel*managedObjectModel=[NSManagedObjectModel mergedModelFromBundles:[NArray arrayWithObject:[NSBundle mainBundle]]];NSPersistentStoreCoordinator*persistentStoreCooCoordinator=[[NSPersistentstoreCoordiinator alloc]initWithManagedObjectModel:managedObjectModel];NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,NSUserDomainMask,YES);NSString*basePath=([paths-count]>0?[paths-objectAtIndex:0]:nil);NSURL*storeUrl=[NSURL文件URLWithPath:[basePath字符串ByAppendingPathComponent:@"meetSigns.sqlite"]];NSError*persistentError;if(![persistentStoreCoordinator addPersistentStoreWithType:NSQLiteStoreType配置:nil URL:storeUrl选项:nil错误:&persistentError]){NSLog([persistentError description]);}NSManagedObjectContext*managedObjectContext=[[NSManagedObject Context alloc]init];[managedObjectContext setPersistentStoreCoordinator:persistentStoreCoo协调器];

我必须准确地说,一开始,我的应用程序没有数据模型,所以我手动添加了它,现在我有了一个.xcdatamodeld文件。我使用接口用我的实体和关系填充模型
无论如何,我找不到.sqlite文件,即使我发布的代码片段中需要它。因此,我可能会出现以下错误:

Error Domain=NSCocoaErrorDomain Code=512 "The operation couldn’t be completed. (Cocoa error 512.)" UserInfo=0x74d6dd0 {reason=Failed to create file; code = 2}

如何创建这个.sqlite文件?我可以从数据模型自动生成它吗?我试着同时使用项目的名称和数据模型的名称,在这两种情况下都添加了.sqlite扩展名,但我得到了相同的错误。

由于这个错误,我也得到了以下内容:

由于未捕获的异常"NSInternalConsistencyException"而终止应用,原因:"此NSPersistentStoreCoordinator没有持久存储。"。它无法执行保存操作。'

你能告诉我哪里搞错了吗?你能告诉我如何解决混合.sqlite文件的问题吗?

感谢的帮助

在对NSSearchPathForDirectoriesInDomains的调用中使用NSDocumentationDirectory,但应该是NSDocumentDirectory

相关内容

  • 没有找到相关文章

最新更新