请参阅以下代码:
UIImage *image;
NSString *str = [[[Data getInstance]arrPic]objectAtIndex:rowIndex];
NSLog(str);
NSURL *url = [NSURL URLWithString:str];
NSData *data = [NSData dataWithContentsOfURL:url];
image = [UIImage imageWithData:data];
str 正在给我http://MyDomain/Pics\\1.png
,但网址正在给我 nil 。
答案 0 :(得分:18)
试试这个,
[NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
答案 1 :(得分:2)
从文档中,URLWithString:
方法采用格式正确的 URL字符串:
此方法要求URLString包含任何必要的百分比转义码,即':','/','%','#',';'和'@'。请注意,'%'转义是通过UTF-8转换的。
我建议您之前使用NSString
的{{1}}方法重试相同的内容。
答案 2 :(得分:2)
从iOS9开始,stringByAddingPercentEscapesUsingEncoding
已弃用。要安全地转义URL字符串,请使用:
NSMutableCharacterSet *alphaNumSymbols = [NSMutableCharacterSet characterSetWithCharactersInString:@"~!@#$&*()-_+=[]:;',/?."];
[alphaNumSymbols formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]];
str = [str stringByAddingPercentEncodingWithAllowedCharacters:alphaNumSymbols];
这会创建要保持原样的字符集,并要求将这些字符集之外的所有字符转换为%百分比编码值。