從今天開始,想要養(yǎng)成寫讀書筆記的習慣,不過小菜一枚,如果有什么理解錯誤,求各路大神指點~~~~~
昨天學習了大話設計模式的第一篇,工廠模式,就像名字一樣,這種模式的好處就像工廠加工一樣,簡化我們的代碼,舉個例子:如果有一個tableview有多種不同的cell,你要是每個都去注冊一遍,那么注冊的代碼你就要有多少種cell就寫多少次,這樣就做了很多重復的工作。所以可以要求后臺在返回數(shù)據(jù)的時候返回一個type,告訴我們是哪一種cell,然后在創(chuàng)建一個類,傳入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中加代碼就可以了