美文网首页
iOS-如何只用两三行代码实现列表页面

iOS-如何只用两三行代码实现列表页面

作者: nodrift | 来源:发表于2018-06-07 16:55 被阅读0次

两步实现列表 

1.注册cell

#define RegistClass(view,class) [view registerClass:class forCellReuseIdentifier:(NSStringFromClass(class))];

RegistClass(self.tableView, [Cell class]);

2.添加cell的Datasource

    [self.cellData addObject:[QLCellData createWithCellClass:[Cell class] data:@{}]];

    [tableView reload];

进阶

原理:将UITableViewCell和数据整合成一个CellData。

@interface QLCellData :NSObject

+ (instancetype)createWithCellClass:(Class)cell data:(NSDictionary*)data;

@property (nonatomic,copy  )NSString * cellId;

@property (nonatomic,strong) NSDictionary *data;

@end

数据统一为字典 @{@"item":你传的值可以为对象/nsarray/nsstring/nsdictionary等等}。

再将数据填充到UITableViewCell中

- (void)fillCell:(UITableViewCell*)cell data:(QLCellData*)rowObj {

    for(NSString* keyPath in rowObj.data.allKeys) {

        if(keyPath.length==0){continue;}

        [cell setValue:rowObj.data[keyPath] forKeyPath:keyPath];

    }

}

cell的高度通过实现protocol来动态改变。

@protocol QLBaseCellProtocol

/// 取对象 动态更新

+ (CGFloat)cellHeight:(NSDictionary*)data;

@end

demo 请移步:

git@github.com:nodrift/BaseCell.git

相关文章

网友评论

      本文标题:iOS-如何只用两三行代码实现列表页面

      本文链接:https://www.haomeiwen.com/subject/jmihpttx.html