我想从我NSUrl
解析我的文档目录的位置NSString
。
当我的控制台NSLog(stringURL)
时i get: "/var/mobile/Applications/2B35D06D-6E4A-40F2-833E-28463A946834/Library/Application Support/MyAppDirectory" as an output.
但是当我做的时候
NSURL* url = [NSURL URLWithString:stringUrl];
和NSLog(url)我得到(null)作为输出。
我在这里做错了什么?
答案 0 :(得分:3)
来自apple文档"使用URLString初始化的NSURL对象。如果URL字符串格式错误或为nil,则返回nil。"您的stringURL不是正确形成的网址。供参考:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/Reference/Reference.html#//apple_ref/occ/clm/NSURL/URLWithString:
您实际想要使用的是:fileURLWithPath: isDirectory:
而不是。
NSURL *url = [NSURL fileURLWithString:[stringURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] isDirectory:YES];
NSLog(@"%@", url);
答案 1 :(得分:2)
怎么样:
NSURL* url = [NSURL fileURLWithString:stringUrl];
// ^^^^
答案 2 :(得分:1)
使用fileURLWithPath(因为您传递文件路径):
NSURL* url = [NSURL fileURLWithPath:stringUrl];