尝试将字符串转换为 NSURL,但没有发生。
barcodeTextLabel.text = foundCode.barcodeString;
urlToGrab = [NSString stringWithFormat:@"%@", foundCode.barcodeString]; // foundCode.barcodeString is an NSString
urlToGrab 显示以下“错误无效 CFStringRef”
这就是从
NSURL
创建 NSString
的方法:
NSURL *url = [NSURL URLWithString:@"https://www.google.com"];
您可以使用以下命令创建 url 的文件路径。
NSURL *yourURL = [NSURL fileURLWithPath:@"/Users/xyz/Desktop/abc.sqlite"];
如果
foundCode.barcodeString
是您想要作为 URL 的字符串,则(如上面的答案)使用 NSURL
类方法 URLWithString:(NSString *)
。
您的代码应如下所示:
NSURL urlToGrab = [NSURL URLWithString:foundCode.barcodeString];
你的错误在哪里发挥作用?按照您的代码的方式, urlToGrab 是
NSString
的实例。我想如果您尝试在 NSString
而不是 NSURL
上发出 HTTP 请求,您会收到您所描述的错误。
Swapnali patil 的答案有效,但我会添加一个解释。
如果 NSString 的格式不符合 NSURL 的文件标准,您将得到
nil
(file:///xxx/file.ext
)。
我的需求是通过 URL 文件路径加载 JPG 图像到 nsdata;
NSURL * u=[[NSURL alloc] initWithString:fpath]
返回零,但是NSURL *yourURL = [NSURL fileURLWithPath:fpath]
如上述答案有效。文件的 URL 将采用 file:///users/xxx/pic.jpg
格式并提供磁盘访问权限。如果 nsstring 是 Web URL,NSURL * u=[[NSURL alloc] initWithString:(NSString*) ]
也会给出 nil 对象,但如果缺少 http://