将图像从多维数组加载到UIImageView中

时间:2011-11-23 15:26:14

标签: iphone objective-c ios xcode uiimageview

我正在将图像加载到自定义单元格中,并且我在整个代码中使用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]]];

我收到了标识符错误

任何提示?

汤姆

1 个答案:

答案 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,应用程序将无法响应。

(顺便说一句,如果您发布错误消息,最好从控制台复制并粘贴完整的实际错误行 - 如果可能的话 - 它会最大化我们理解问题的机会。)