Как получить изображение в ячейке viewview из json, используя цель c - PullRequest
0 голосов
/ 20 ноября 2018
self->SCImageArr = [[NSMutableArray alloc]init];
            self->SCLabelArr = [[NSMutableArray alloc]init];

            NSDictionary *SCDic = [maindic objectForKey:@"specialcategories"];
            for (NSDictionary *SCDictionary in SCDic){
                NSString *strimage = [SCDictionary objectForKey:@"image"];
                [self->SCImageArr addObject:strimage];
                NSLog(@"SCImage :%@", strimage);  
                NSString *strname = [SCDictionary objectForKey:@"text"];
                [self->SCLabelArr addObject:strname];
                NSLog(@"SClabelname :%@", strname);
            } 
            [self.specialCategoriesCollectionView reloadData];

код моей ячейки здесь

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

    static NSString *CellIndentifer = @"Cell";
    SpecialCategoriesCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIndentifer forIndexPath:indexPath];

    cell.categoriesImages.image = [UIImage imageWithData:SCImageArr];
    cell.categoriesNameLabel.text = self.specialCategoriesLabel[indexPath.row];

    return cell;
}

Как получить изображение в ячейке коллекционного вида из json, используя цель c?

1 Ответ

0 голосов
/ 20 ноября 2018

Вот как вы должны это сделать:

 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
    NSURL* url = [NSURL URLWithString:SCImageArr[indexPath.row]];
    NSData* data = [NSData dataWithContentsOfURL:url];

    UIImage* image = [UIImage imageWithData:data];

    dispatch_async(dispatch_get_main_queue(), ^{
        cell.categoriesImages.image = image;
    });
});

Также: это не имеет отношения к вопросу, но не дает переменным заглавные имена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...