从今天开始,想要养成写读书笔记的习惯,不过小菜一枚,如果有什么理解错误,求各路大神指点~~~~~
昨天学习了大话设计模式的第一篇,工厂模式,就像名字一样,这种模式的好处就像工厂加工一样,简化我们的代码,举个例子:如果有一个tableview有多种不同的cell,你要是每个都去注册一遍,那么注册的代码你就要有多少种cell就写多少次,这样就做了很多重复的工作。所以可以要求后台在返回数据的时候返回一个type,告诉我们是哪一种cell,然后在创建一个类,传入model和tableview就可以给cell进行初始化
+(id)cellFactoryWithModels:(Models *)model tableView:(UITableView*)tableView {
if([model.type isEqualToString:.....]){
cell = ...;(初始化)
}
cell.model = model;
return cell;
}
所以在控制器中就只有一句代码啦
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
return [CellFactory cellFactoryWithModels:self.dataArray[indexPath.row] tableView:tableView];
}
这样代码就简洁了很多,还具有可扩展性,多一种cell,只需要在CellFactory中加代码就可以了