0

Uicollectionview を使用して画像を表示していますが、UIColletionview をリロードすると、アプリがより多くのメモリを消費してクラッシュします。

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

    UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cellIdentifier" forIndexPath:indexPath];


dispatch_async(dispatch_get_main_queue(), ^{

    //  ********* Changed *******

    for (UIView *v in [cell.contentView subviews])
        [v removeFromSuperview];

    // ********** Changed **********
    if ([self.collectionviewFlow.indexPathsForVisibleItems containsObject:indexPath]) {
        NSString *img_name=[NSString stringWithFormat:@"%@_thumb%d.png",self.VaritiesName,(int)indexPath.row+1];
        imageVw=[[UIImageView alloc]initWithImage:[UIImage imageNamed: img_name]];
        imageVw.frame=CGRectMake(10,10,50,50);
        [cell.contentView addSubview:imageVw];
    }
});
cell.backgroundColor=[UIColor clearColor];
return cell;
 }
4

0 に答える 0