如果我们用UITableViewController的话,一般情况下都会重复的在每个类里面写如下三个方法
#pragma mark UITableViewDataSource - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 10; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { PGTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellReuseIdentifier]; return cell; } 复制代码
如果项目大的话,每个类都要写,写的很臃肿,很麻烦,那么有没有办法可以解决呢
答案就是PGBaseDataSourcePGBaseDataSource的写法
[[PGBaseDataSource instance] numberOfSectionsInTableView:^NSUInteger(UITableView *tableView) { return 1; } numberOfRowsInSection:^NSUInteger(UITableView *tableView, NSInteger section) { return 10; } cellForRowAtIndexPath:^UITableViewCell *(UITableView *tableView, NSIndexPath *indexPath) { PGTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellReuseIdentifier]; return cell; }]; 复制代码
Cocoapods安装
pod 'PGBaseDataSource'复制代码
PGBaseDataSource地址
https://github.com/xiaozhuxiong121/PGBaseDataSource复制代码