0

画像を読み込んで表示し、テーブルビュー セルに表示しようとしています。画像は Google からのリンクです。簡単な読み込みに使用しようとしましdispatch_asyncたが、すべての画像が読み込まれません。

私のコードの一部を次に示します。

-(void) buildCellView: (NSArray *) data andIndex: (NSInteger) index{
NSDictionary *comment = [data objectAtIndex:index];
cell.backgroundColor = [BaseView colorWithHexString:@"f3f3f3"];
commentsView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)];
commentUsersImg = [[UIImageView alloc] initWithFrame:CGRectMake(15, 8, 28, 28)];
if ([comment valueForKeyPath:@"image_url"] !=nil) {
    dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void){
        NSURL * url = [[NSURL alloc] initWithString:[comment valueForKeyPath:@"image_url"]];
        NSData * imageData = [[NSData alloc] initWithContentsOfURL:url] ;

        dispatch_async(dispatch_get_main_queue(), ^(void){
            //                commentUsersImg.image = [UIImage imageWithData:imageData];
            [[self commentUsersImg] setImage:[UIImage imageWithData:imageData]];
        });
    });

}
commentUsersImg.layer.cornerRadius = 14;
commentUsersImg.clipsToBounds = YES;
[commentsView addSubview:commentUsersImg];

これは私が得ているものです:

ここに画像の説明を入力

URLを配列に保存します。これは、配列の配列の一部です。

 [dummyData addObject:[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"http://g-ecx.images-amazon.com/images/G/01/electronics/detail-page/Klipsch-Image-S4-II-Black-Lifestyle.jpg", @"badge.png",@"Got Strike! at", @"Alex Shin",
                                                          [NSArray arrayWithObjects:
                                                           [NSDictionary dictionaryWithObjects:
                                                            [NSArray arrayWithObjects:@"James", @"30 minutes ago", @"Great Shot!", @"https://c676132.ssl.cf0.rackcdn.com/_84A2468-50cf361795eb2.jpg", nil]
                                                                                       forKeys:
                                                            [NSArray arrayWithObjects:@"name", @"dateline", @"body", @"image_url", nil]],

                                                           [NSDictionary dictionaryWithObjects:
                                                            [NSArray arrayWithObjects:@"Kim", @"10 minutes ago", @"I should have seen it.", @"http://3.bp.blogspot.com/-tBFQC9y-ZpM/Tmb8DaeYEmI/AAAAAAAAA9M/TahVx2IiQsE/s400/Bowling+and+Best+Bowling+Player+Shalin+Zulkifli+cover.jpg", nil]
                                                                                       forKeys:
                                                            [NSArray arrayWithObjects:@"name", @"dateline", @"body", @"image_url", nil]],

                                                           [NSDictionary dictionaryWithObjects:
                                                            [NSArray arrayWithObjects:@"Matt", @"5 minutes ago", @"Nice", @"http://www.beverlyhillsmagazine.com/wp-content/uploads/Ashton-Kutcher-Hollywood-Stars-Rich-and-Famous-Movie-Stars-Star-of-the-Week-Beverly-Hills-Magazine-Hollywood-Magazines--300x336.jpg", nil]
                                                                                       forKeys:
                                                            [NSArray arrayWithObjects:@"name", @"dateline", @"body", @"image_url", nil]]

                                                           , nil] , nil]

                                                 forKeys:[NSArray arrayWithObjects:@"photo", @"credit",@"credit_label", @"name", @"comments", nil]
                      ]];
4

0 に答える 0