为什么这条线不能在真正的iOS设备上运行?

时间:2011-01-31 03:07:09

标签: ios cocoa-touch core-data

在使用Core Data框架的iOS开发中,为什么这条线在真实设备中不起作用:

NSURL *storeUrl = [NSURL fileURLWithPath: 
                  [[self applicationDocumentsDirectory] 
                       stringByAppendingPathComponent: @”MyDB.sqlite”]];

这是不是意味着DB文件位于UUID / Documents目录下?或者它意味着它在UUDI / MyApp.app / Documents下?

1 个答案:

答案 0 :(得分:1)

applicationDocumentsDirectory应该指向GUID/YourApp/Documents

这是获取Documents目录的正确用法

+(NSString *)applicationDocumentsDirectory {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    return basePath;
}

applicationDocumentsDirectory代码是什么?假设您是从Apple或其他可靠来源的示例中使用它,这应该指向您的应用程序文档文件夹。

enter image description here