UICollectionView + AFNetWorking 异步加载,局部刷新.

例子:https://github.com/KayCm/CellUpdate 

最近在做的项目需要cell里面的数据需要和后台实时交互。而collectionview reload会整体刷新。

复制代码
//m层 发送通知
[[NSNotificationCenter defaultCenter]postNotificationName:@"CartProUpdate" object:self userInfo:par];

 
//c层 

//注册通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(UpdateForCells:) name:@"CartProUpdate" object:nil];

//收到通知后,更新cell
-(void)UpdateForCells:(NSNotification*)Notification

{

    NSLog(@"updateCell:%@",Notification.userInfo);
    //对比需要更新的cell,并更新CartInfo里的数据
    for (int i = 0; i< [CartInfo count]; i++) {

        if ([[CartInfo objectAtIndex:i][@"sysnumber"] isEqualToString:Notification.userInfo[@"sysnumber"]]) {

            if (Notification.userInfo[@"ifbuy"] == nil) {

                [[CartInfo objectAtIndex:i] setValue:[NSString stringWithFormat:@"%@",Notification.userInfo[@"num"]] forKey:@"quantity"];

            }else{

                [[CartInfo objectAtIndex:i] setValue:[NSString stringWithFormat:@"%@",Notification.userInfo[@"ifbuy"]] forKey:@"ifBuy"];

            }

            NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];

           NSMutableArray *indexPaths = [[NSMutableArray alloc] init];

            [indexPaths addObject:indexPath];


            //更新cell
            [CartCollectionView reloadItemsAtIndexPaths:indexPaths];

        }

    }


}
复制代码
原文地址:https://www.cnblogs.com/Mrliheng/p/5476587.html