这是我到目前为止的代码:
NSString *listedImageURL = listedProduct.image;
NSLog(@"URL: %@", listedImageURL);
此代码工作正常和显示的NSLog我正确的URL。 但是,当我尝试下面的代码,显示的NSLog了(空):
NSString *listedImageURL = listedProduct.image;
NSURL *imageURL = [NSURL URLWithString:listedImageURL];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
我究竟做错了什么??
我相信,relower是在正确的轨道上,文件规定:
这种方法预计URLString包含任何必需的百分之转义码,它们是 ':', '/', '%', '#', ';',和 '@'。 请注意,“%”逃逸是通过UTF-8翻译。
我相信,如果你发布的是要转换的URL的一些例子这将有助于确定哪些字符可能会引起你的问题。
我建议记录:listedImageURL
然后还运行:
NSString *escapedImageUrl = [listedProduct.image stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
然后日志。
这应该让你看到的是什么逃脱,什么是被错过。 它可以作为一个流浪空间一样简单。
你也可以尝试使用NSASCIIStringEncoding代替NSUTF8StringEncoding,看看是否有差别。
它可以是空的,因为你的字符串URL皈依的。
试试下面这段代码;
NSString *listedImageURL = [listedProduct.image stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *imageURL = [NSURL URLWithString:listedImageURL];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
会为你工作,我认为。 祝好运。