来自NSString的NSUrl返回null
我想parsing从NSString
我的文档目录到NSUrl
的位置。
当我的控制台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)我得到(空)作为输出。
我在这里做错了什么?
从苹果文档“一个用URLString初始化的NSURL对象,如果URLstring格式不正确或为零,返回nil”。 你的stringURL不是一个正确的形成的url。 作为参考: 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);
怎么样:
NSURL* url = [NSURL fileURLWithString:stringUrl]; // ^^^^
改用fileURLWithPath(因为你正在传递一个文件path):
NSURL* url = [NSURL fileURLWithPath:stringUrl];