开发者

Help me on loading the images on table view using NSOperationQueue

Kindly look the below code..i found from web

- (void) loadData {

        NSOperationQueue *queue = [NSOperationQueue new];

        NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self 
                                                                                    selector:@selector(loadDataWithOperation)  object:nil];

        [queue addOperation:operation];

        [operation release];
     }


        - (void) loadDataWithOperation {

        NSURL *dataURL = [NSURL URLWithString:@"http://icodeblog.com/sam开发者_如何转开发ples/nsoperation/data.plist"];

        NSArray *tmp_array = [NSArray arrayWithContentsOfURL:dataURL];

        for(NSString *str in tmp_array) {
        [self.array addObject:str];
        }

        [self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:YES];
    }


    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

            static NSString *CellIdentifier = @"Cell";

            UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
            if (cell == nil) {
                cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
            }

            [cell.textLabel setText:[self.array objectAtIndex:indexPath.row]];

            return cell;
        }

I have found the above code which loads the text from the web without any problem.( i mean gui is not hanging ).like wise i want to load images into the table view.for that i have wriiten the below code.

- (void) loadDataWithOperation {

    NSString *Img_id, *Img_name, *DynamicImgUrl;

    Img_id = xmltag.equip_id;

    Img_name = xmltag.image;

    DynamicImgUrl = [NSString stringWithFormat:@"http://test.com/pics/equipment/%@/%@",Img_id, Img_name];

    NSURL *ImageUrl = [NSURL URLWithString:DynamicImgUrl];

    //UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:ImageUrl]];

    NSArray *tmp_array = [NSArray arrayWithContentsOfURL:ImageUrl];

    for(NSString *str in tmp_array) {
        [self.array addObject:str];
    }

    [self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:YES];
}

Am i correct here? how can i go with adding into the table view...

Kindly help me out...


U are seeking to display images on Tableview from URL, when u download image from url we need to consider some issues, it will freeze ur table view if u goahead with ordinary loading image. i suggest u look at LazyLoading image

u see this link http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html

Download this sample and get to know the things

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜