我正在将图像加载到自定义单元格中,并且我在整个代码中使用XML构建了一个数组,我希望在我的nib文件中将其设置为我的UIImageView。
我的数组构建为totalArray,然后我在cellForRowAtIndexPathT中执行以下操作:
newObj1=[totalArray objectAtIndex:indexPath.row];
aCell.lblRouteText.text = newObj1.routeText;
以下加载我的图片工作(静态):
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://imageurl.jpg"]]];
aCell.imgRoute.image = image;
但是,当我尝试使用以下内容放入我的数组时:
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[newObj1.routeImage]]];
我收到了标识符错误
任何提示?
汤姆
答案 0 :(得分:1)
你正在写[newObj1.routeImage]
,只需要newObj1.routeImage
,即你的最后一行应该是:
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:newObj1.routeImage]];
当你使用方括号(而不是在C数组的上下文中)时,你应该总是拥有[x y]
形式的东西,这意味着'将消息y
发送给接收者{{ 1}}”。
关于线程的注意事项:使用x
时要小心,因为它会在获取URL内容时阻塞。如果你在主线程上调用它,你将阻止你的UI,应用程序将无法响应。
(顺便说一句,如果您发布错误消息,最好从控制台复制并粘贴完整的实际错误行 - 如果可能的话 - 它会最大化我们理解问题的机会。)