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