【问题标题】:Not able to create valid nsurl无法创建有效的 nsurl
【发布时间】:2011-01-09 05:08:57
【问题描述】:

我正在尝试解析来自 xml Web 服务的数据,但我无法获取我的 url。请检查我的代码:

NSLog(@"log url: %@",url);
[url stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];
NSLog(@"%@",url);
[url stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
NSLog(@"%@",url);

NSURL *URL = [NSURL URLWithString:url];
NSXMLParser *home_Parser = [[NSXMLParser alloc] initWithContentsOfURL:URL];
[home_Parser setDelegate:self];
[home_Parser parse];
[home_Parser release];  

我总是将 URL 设为 nil。原因是我的字符串 url 包含空格。我试图替换它并逃脱它,但它不起作用。以下是我正在使用的网址

http://www.mydomain.com/radioListGenre.php?genre=Radiostations玩摇滚 我怎样才能删除这个空间。有没有我上面使用的其他技术。

谢谢
潘卡伊

【问题讨论】:

  • 您需要在每一行代码前面留4个空格,以便将其全部格式化。最简单的方法是选择所有代码并单击 {} 按钮,这将在每个选定行的开头添加 4 个空格。

标签: iphone nsurl


【解决方案1】:

stringByAddingPercentEscapesUsingEncodingstringByReplacingOccurrencesOfString 对提供的字符串进行操作并返回一个字符串。您没有将返回值分配给任何东西,因此 url 没有改变,返回值只是消失在空间中。你想要更多类似的东西:

url = [url stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];

假设 url 是一个可变字符串。现在 url 包含 url 的修改版本。如果没有分配,它的效果与执行以下操作相同:

a + 1;

代替:

a = a + 1

【讨论】:

  • 是的,我后来想通了……我这边犯了一个愚蠢的错误……谢谢你的回答
猜你喜欢
  • 1970-01-01
  • 2013-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-06
  • 2011-06-21
  • 1970-01-01
相关资源
最近更新 更多