NSString 到 NSURL?

问题描述 投票:0回答:4

尝试将字符串转换为 NSURL,但没有发生。

barcodeTextLabel.text = foundCode.barcodeString;
urlToGrab = [NSString stringWithFormat:@"%@", foundCode.barcodeString]; // foundCode.barcodeString is an NSString

urlToGrab 显示以下“错误无效 CFStringRef”

iphone ios nsstring
4个回答
55
投票

这就是从

NSURL
创建
NSString
的方法:

NSURL *url = [NSURL URLWithString:@"https://www.google.com"];

3
投票

您可以使用以下命令创建 url 的文件路径。

NSURL *yourURL = [NSURL fileURLWithPath:@"/Users/xyz/Desktop/abc.sqlite"];

0
投票

如果

foundCode.barcodeString
是您想要作为 URL 的字符串,则(如上面的答案)使用
NSURL
类方法
URLWithString:(NSString *)

您的代码应如下所示:

NSURL urlToGrab = [NSURL URLWithString:foundCode.barcodeString];

你的错误在哪里发挥作用?按照您的代码的方式, urlToGrab 是

NSString
的实例。我想如果您尝试在
NSString
而不是
NSURL
上发出 HTTP 请求,您会收到您所描述的错误。


-1
投票

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://

© www.soinside.com 2019 - 2024. All rights reserved.