0

正如标题所说,我需要获取图像并将其放入数组中。

UIImageView *myImage = [[UIImageView alloc] init];
[myImage setImageWithURL:[NSURL URLWithString:@"http://host.com/images/1/1.png"] placeholderImage:[UIImage imageNamed:@"page3.png"]];
[items addObject:myImage]; 

问题是,在加载图像时,代码继续运行,没有任何东西放入数组中,实际上我猜是插入了一个空的 UIImageView。

我该如何解决这个问题?

在旁注中,我使用 iCarousel 来显示图像,在数据源中它获取图像数组并显示它们。我可以以某种方式修改 iCarousel 吗?

提前致谢。

4

1 回答 1

4

您可以使用 setImageWithURLRequest 方法发送成功消息或在完成后执行 UI 更新,例如使用以下方法:

- (void)setImageWithURLRequest:(NSURLRequest *)urlRequest 
          placeholderImage:(UIImage *)placeholderImage 
                   success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success
                   failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure;

这是一个例子(未测试)

[image setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"host.com/images/1/1.png"]] placeholderImage:[UIImage imageNamed:@"page3.png"] 
                   success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image){ 
                             //reload data here
                   }
                   failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
                             //handle errors here
                   }
于 2012-04-24T02:25:51.800 回答