【问题标题】:Xcode: NSString to NSUrl conversion issueXcode:NSString 到 NSUrl 的转换问题
【发布时间】:2018-02-07 05:12:48
【问题描述】:

我在将 NSString 转换为 NSUrl 时遇到了一个奇怪的问题。实际上我有一个方法,它以 NSString 作为参数,然后将其转换为 NSUrl,然后我使用该 URL 下载文件。

当我通过我的代码通过将 url 作为字符串传递来调用此方法时,以下行返回 nil。

NSURL *url = [NSURL URLWithString:urlString];

但是当我在同一个方法中对字符串进行硬编码,然后将字符串转换为 NSUrl 时,我得到了一个正确的 URL。我不知道为什么会这样。有人可以评论这种行为并建议我解决这个问题的方法吗?

//NSString *urlString = @"http://someimage.png"; // works that way but not when I send this urlstring as parameter of method
NSURL *url = [NSURL URLWithString:urlString];
NSLog(@"Url after conversion %@", url);

【问题讨论】:

  • 可能是您传递给您的方法的字符串不是正确的 url。在尝试在你的方法中将其转换为 NSURL 之前,使用 NSLog() 打印 url
  • 你能添加你的方法和它的调用吗?
  • 不清楚你的urlString参数来自哪里。
  • 你说的没有道理。我们需要查看您的实际函数和调用它的代码。魔鬼在细节中。
  • 例如第一行,如果没有注释,就不能工作,因为它不能编译。

标签: ios objective-c xcode nsstring nsurl


【解决方案1】:

感谢大家的回答。我终于解决了这个问题,问题出在我作为参数传递的 URL 字符串中。它的末尾有一些额外的“”,因为它是一个普通字符串,所以没有出现在 NSLog 中,但是当我从 url 字符串中删除那些“”,然后将其转换为 NSURL 时,它工作正常。

【讨论】:

    【解决方案2】:

    用作

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",@"http://someimage.png"]];
    NSLog(@"Url after conversion %@", url);
    

    【讨论】:

      猜你喜欢
      • 2012-11-10
      • 2013-12-16
      • 2012-04-05
      • 2015-12-25
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      相关资源
      最近更新 更多