无法将字符串转换为NSURL

时间:2014-07-12 21:04:44

标签: objective-c core-data nsstring nsurl

我正在尝试使用以下代码关闭CoreData中的WAL:

//  Code to disable journaling mode
NSString *applicationDocumentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *urlString = [applicationDocumentsDirectory stringByAppendingPathComponent: @"saori.sqlite"];
NSURL *url = [[NSURL alloc] initWithString:urlString];
NSDictionary *options = @{NSSQLitePragmasOption:@{@"journal_mode":@"DELETE"}};
NSPersistentStoreCoordinator *psc = [[NSPersistentStoreCoordinator alloc] init];
[psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil  URL:url options:options error:nil];

这是我需要转换为URL的NSString:

/Users/rolfmarsh/Library/Application Support/iPhone Simulator/7.1/Applications/7A614C51-AC51-4F5B-9716-6E3D2F160324/Documents/saori.sqlite

当我在此语句中使用该字符串时,它会生成 nil

    NSURL *url = [[NSURL alloc] initWithString:urlString];

我没有看到字符串有什么问题。我做错了什么?

1 个答案:

答案 0 :(得分:4)

阅读NSURL的文档。您有一个文件路径,您需要从文件路径创建文件URL。

NSURL *url = [NSURL fileURLWithPath:urlString];