Iphone NSURL未正确实例化

Iphone NSURL未正确实例化,iphone,cocoa-touch,Iphone,Cocoa Touch,我是IPhone开发新手 我对NSURL有一个非常奇怪的问题,这让我发疯。我想实例化NSURL对象,以便在加载图像时使用它。但实例化永远不会以正确的方式发生。它总是说我的url无效 基本上,我使用如下代码: NSString *str = @"http://google.com"; NSURL *url = [NSURL URLWithString:str]; 但是我也尝试了很多不同的修改(使用CFStringRef+cfurlCreateStringByAddingPercentescape

我是IPhone开发新手

我对NSURL有一个非常奇怪的问题,这让我发疯。我想实例化NSURL对象,以便在加载图像时使用它。但实例化永远不会以正确的方式发生。它总是说我的url无效

基本上,我使用如下代码:

NSString *str = @"http://google.com";
NSURL *url = [NSURL URLWithString:str];
但是我也尝试了很多不同的修改(使用CFStringRef+cfurlCreateStringByAddingPercentescape等等)。他们不是都为我工作。调试器中的url设置为“无效”

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


有人知道会发生什么吗?

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

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

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

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

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

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

NSURL*url=[NSURL URLWithString:@”http://google.com"];工作正常。您的实际代码是什么?(我上面的评论中有一个
http://
,但过滤器将其更改为链接)
NSURL*url=[NSURL URLWithString:@”http://google.com"];工作正常。你的实际代码是什么?(我上面的评论中有一个
http://
,但过滤器将其更改为一个链接)此代码会产生相同的错误。当我在调试器中查看时:\ url的urlString参数为“无效”。下一次使用url会引发异常。此代码会产生相同的错误。当我在调试器中查看时:\ url的urlString参数为“无效”。下一次使用url会引发异常。确切的代码是:1)NSString转义的本机代码:NSString*str=@;NSString*转义=[str STRINGBYADDINGPERCENSCAPESUSINGENCODE:NSUTF8STRINGENCONDING];NSURL*url=[NSURL URLWithString:escaped];和2)CFStringRef转义:NSString*str=@;CFStringRef转义=CFURLCreateStringByAddingPercentEscapes(kcfFallocatorDefault,(CFStringRef)str,NULL,(CFStringRef)@“;/?:@&=+$,”,kcfStringCodingUtf8);NSURL*url=[NSURL URLWithString:(NSString*)转义];两者都失败。确切的代码是:1)NSString转义的本机代码:NSString*str=@“”;NSString*转义=[str STRINGBYADDINGPERCENSCAPESUSINGENCODE:NSUTF8STRINGENCONDING];NSURL*url=[NSURL URLWithString:escaped];和2)CFStringRef转义:NSString*str=@;CFStringRef转义=CFURLCreateStringByAddingPercentEscapes(kcfFallocatorDefault,(CFStringRef)str,NULL,(CFStringRef)@“;/?:@&=+$,”,kcfStringCodingUtf8);NSURL*url=[NSURL URLWithString:(NSString*)转义];两者都在失败。