Q:

How to load image for uitableviewcell before

I ve tried a lot methods while reading about my the same problem here but didn't find suitable answer and i decided to ask directly.
Here is my task. I'd like user launch my app and see cells with images which I load from web, but I see just title!
Then I scroll up and some cells are not visible on screen. 
And after that I see the image only for that cell.
Here is my code:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 5;
}

-(UITableViewCell *)tableView:(UITableView *)tableView
        cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *reusbleCell = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reusbleCell];

    if (!cell) {
        cell =[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reusbleCell];
    }
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSURL *imageurl = [[NSURL alloc] initWithString:@"http://cs413627.vk.me/v413627067/604c/gD39fdeTH-E.jpg"];
        NSData *imageData = [[NSData alloc] initWithContentsOfURL:imageurl];
        dispatch_async(dispatch_get_main_queue(), ^{
            [[cell imageView] setImage:[UIImage imageWithData:imageData]];
        });
    });
    [[cell textLabel] setText:@"Text"];
    return cell;
}

A:

I created a test project to check the reason,I found if you don't set the cell.imageView.image before return the cell, the cell.imageView.frame will be CGRectZero.So when receive the imageData,you did set the imageView.image with the imageData,but image will never be shown.
I think you can customize a UITableViewCell with a customized UIImageView.

