我的图片没有从他们的 URL 加载。当我记录 NSURL 时,它看起来是正确的
my.website.com/images/image1.png
但是当我设置断点时,NSURL 在调试器控制台中显示为
my.website.com/images/image1.png\x05\b
我已经通过我的网络浏览器检查了 json,它是完全有效的。字符串以“png”的“g”结尾。
我正在使用 SDWebImage 为我的表格单元格异步加载图像。用于图片的 URL 来自一个对 JSON 进行编码的 php 文件。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
SpotsTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SpotCell" forIndexPath:indexPath];
NSInteger row = indexPath.row;
if (self.spotDictionary)
{
NSDictionary* spot = (NSDictionary*)[self.spotDictionary objectForKey:[NSString stringWithFormat:@"%d", row]];
NSString* title = [spot objectForKey:@"Title"];
NSURL* imageURL = [NSURL URLWithString:(NSString*)[spot objectForKey:@"Image"]]; NSLog(@"%@", imageURL);
UIImage* placeholder = [UIImage imageNamed:@"placeholder.png"];
// See ~*~ below
NSURL* testURL = [NSURL URLWithString:@"http://www.hdwallpaperspot.com/wp-content/uploads/2013/08/Volvo-station-wagon-612pb.jpg"];
cell.nameLabel.text = title;
[cell.pictureView setImageWithURL:imageURL
placeholderImage:placeholder]; // SDWebImage category for UIImage
//breakpoint here
}
return cell;
}
~*~ 为了确保 SDWebImage 正常运行,我从网上抓取了一张图片来临时测试该库,它的性能非常好。我检查了"Image"
对象的类,它是_NSCFString
. 添加演员表(NSString*)
以防我对 NSCFString 和 NSString 之间的可互换性的理解存在缺陷。没运气。