当我将 UIImage 从 URL 加载到 iPhone 上的 UIImageView 时,我遇到了一些问题。当我使用对象的属性生成 NSURL(使用 NSURL 的 URLWithString 方法的参数中的 URL)时,根本不会检索到图像,但是如果我对相同的 URL 进行硬编码,则会按预期检索和显示图像。
[item valueForKey:@"pictureLocation"]; 下面的部分似乎是导致问题的原因,因为即使连接两个硬编码字符串,NSURl 也不会出现任何问题。
NSString * imagePath = @"http://localhost:3000";
NSString * specificPath = (NSString *)[item valueForKey:@"pictureLocation"] ;
//concatenate the strings to get a fully formed URL
NSString * finalPath = [imagePath stringByAppendingString:specificPath];
UIImage *img = [[UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:finalPath]]] retain];
本质上,当我 NSLog 最终路径并将该 URL 硬编码到程序中时,我得到了预期的结果。
为什么会出现这种情况?