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

最近在做的项目需要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://github.com/KayCm/CellUpdate 写的可能不是很好,还请见谅.

posted @ 2015-04-02 03:14  NGI.  阅读(1551)  评论(0编辑  收藏  举报
GitHub | M1989