0

我拥有的是一个带有 UITableViewController 的应用程序,它充满了自定义 UITableViewCells。我有一些数据可用于提供单元格,但是我需要下载一些额外的内容(图片等)。

所以我在 viewDidLoad 方法中做了什么,我初始化了一个 UITableViewCell 对象,用我已经可用的信息填充所有标签。然后我启动单元类的方法之一来下载数据。完成特定单元格后,我将其放入 NSMutableArray 并继续下一个单元格。

然后在 cellForRowAtIndexPath 方法中,我从可变数组返回特定​​索引处的单元格。

发生的情况是,直到所有数据都没有下载,我的 tableView 被卡住了......我不确定这是否是正确的方法,但我认为我必须启动下载然后填充额外内容的方法另一个线程上的单元格。我怎样才能做到这一点?

提前非常感谢!

4

1 回答 1

0

正如 rckoenes 所建议的,使用 AFNetworking 有效!:) 我认为对于那些仍然没有 ARC 的人来说,替代方案是 ASIHTTPRequest。

这是我下载图像的代码:

-(void)getImageFromUrl:(NSURL *)url{
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    AFImageRequestOperation *op = [AFImageRequestOperation imageRequestOperationWithRequest:request imageProcessingBlock:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *img) {
        [self.image setImage:img];

    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {

    }];
    [op start];
}
于 2012-11-01T14:00:32.070 回答