• 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];
    
            }
    
        }
    
    
    }
    复制代码
  • 相关阅读:
    VS2010安装笔记
    Blend4中文版中截取图片的方法
    改变窗口的位置 (转载)
    窗口的位置
    windows消息大全
    WM_MOUSELEAVE和WM_MOUSEHOVER使用
    setwindowpos
    无注册表的COM调用
    WM_CLOSE WM_QUIT WM_DESTROY 三者的区别
    WM_MOUSEWHEEL消息
  • 原文地址:https://www.cnblogs.com/Mrliheng/p/5476587.html
Copyright © 2020-2023  润新知