使用Afnetworking获取UIImageView并将其放入数组中

时间:2012-04-24 01:59:22

标签: objective-c ios uiimageview afnetworking icarousel

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

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吗?

提前致谢。

1 个答案:

答案 0 :(得分: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
                   }