NSURL没有正确实例化

时间:2009-11-01 19:26:16

标签: iphone cocoa-touch

我是iPhone开发的新手。

我对NSURL有一个非常奇怪的问题,这让我发疯。我想实例化NSURL对象以在加载图像时使用它。但实例化从未以适当的方式发生。它总是说我的网址无效。

基本上我使用如下代码:

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

但我也尝试了很多不同的修改(使用CFStringRef + CFURLCreateStringByAddingPercentEscapes等)。所有这些都不适合我。在调试器中,url设置为“无效”。

它可能是什么?我不认为这是算法或环境问题。它可能是一些设置?

有谁知道会发生什么?

2 个答案:

答案 0 :(得分:3)

你的字符串没有正确转义 - 你应该这样做:

NSString *str = @"http://google.com";
NSString *escStr = [str stringByAddingPercentEscapesUsingEncoding:
                                              NSASCIIStringEncoding];
NSURL *url = [NSURL URLWithString:escStr];

答案 1 :(得分:2)

您使用的是实际代码还是只是代码“喜欢”它?如果你没有为一个有效字符串提供正确的转义,那么该方法将返回nil。