【问题标题】:NSString to NSURL?NSString 到 NSURL?
【发布时间】:2011-11-14 03:42:45
【问题描述】:

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

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

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

【问题讨论】:

  • 您可以给您的代码提供更多详细信息,例如 urlToGrab 属于 Wat 类型的 DataType
  • 您希望如何从+stringWithFormat: 方法中获取 NSURL?

标签: iphone ios nsstring


【解决方案1】:

这是从NSString 创建NSURL 的方法:

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

【讨论】:

  • NSURL 是一个对象,所以你缺少 *. NSURL *url
【解决方案2】:

您可以使用以下方法创建 url 的文件路径。

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

【讨论】:

    【解决方案3】:

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

    您的代码应如下所示:

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

    您的错误在哪里发挥作用?你的代码是这样的,urlToGrab 是NSString 的一个实例。我想如果您尝试在 NSString 而不是 NSURL 上发出 HTTP 请求,您会收到您描述的错误。

    【讨论】:

      【解决方案4】:

      Swapnali patil 的回答有效,但我会添加解释。

      如果 NSString 的格式不符合 NSURL 的文件标准 (file:///xxx/file.ext),您将获得 nil

      我的需求是通过 nsdata 的 URL 文件路径加载 JPG 图像; NSURL * u=[[NSURL alloc] initWithString:fpath] 返回 nil,但 NSURL *yourURL = [NSURL fileURLWithPath:fpath] 如提到的答案有效。文件的 URL 将是 file:///users/xxx/pic.jpg 格式并提供磁盘访问权限。 NSURL * u=[[NSURL alloc] initWithString:(NSString*) ] 也将给出 nil 对象,如果 nsstring 是 web URL 但如果缺少 http://

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-05
        • 2011-07-15
        • 1970-01-01
        • 2012-02-02
        • 2012-04-05
        • 2011-12-26
        相关资源
        最近更新 更多