iOS:NSString丢失URL,显示(null)

fil*_*lou 1 url null xcode nsstring ios

这是我的代码到目前为止:

NSString *listedImageURL = listedProduct.image;

NSLog(@"URL: %@", listedImageURL);
Run Code Online (Sandbox Code Playgroud)

此代码工作正常,NSLog显示正确的URL.但是,当我尝试以下代码时,NSLog显示(null):

NSString *listedImageURL = listedProduct.image;

NSURL *imageURL = [NSURL URLWithString:listedImageURL];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么??

Kea*_*b42 5

我相信relower走在正确的轨道上,文档指出:

此方法要求URLString包含任何必需的百分比转义码,即':','/','%','#',';'和'@'.请注意,'%'转义是通过UTF-8转换的.

我相信,如果要发布您正在转换的URL的一些示例,那么识别哪些字符可能会对您造成问题会很有帮助.

我建议记录:listedImageURL

然后还运行:

NSString *escapedImageUrl = [listedProduct.image stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

然后记录下来.

这应该让你看到被逃脱的东西和错过的东西.它可以像杂散空间一样简单.

您也可以尝试使用NSASCIIStringEncoding而不是NSUTF8StringEncoding,看看是否有所作为.