在viewDidLoad
我有:
[self.tableView registerNib:[UINib nibWithNibName:@"TypeOneCell" bundle:[NSBundle mainBundle]]
forCellReuseIdentifier:@"CustomCellOne"];
和cellForRowAtIndexPath
:
TypeOneCell *cell;
cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCellOne"];
return cell;
我想对UITableViewController
我推送/弹出的所有表使用相同的类。所以我可能会为它创建一个枚举类型和一个变量。所以我会检查视图控制器是哪种类型,然后相应地进行调整。我的问题是我将如何以与上述相同的方式进行此操作。是 ( viewDidLoad
) 的问题:
switch (self.theControllerType) {
case CPTypeOne:
[self.tableView registerNib:[UINib nibWithNibName:@"TypeOneCell" bundle:[NSBundle mainBundle]]
forCellReuseIdentifier:@"CustomCellOne"];
break;
case CPTypeTwo:
[self.tableView registerNib:[UINib nibWithNibName:@"TypeTwoCell" bundle:[NSBundle mainBundle]]
forCellReuseIdentifier:@"CustomCellTwo"];
break;
default:
break;
}
然后(cellForRowAtIndexPath
):
switch (self.theControllerType) {
case CPTypeOne {
TypeOneCell *cell;
cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCellOne"];
return cell;
break;
case CPTypeTwo {
TypeOneCell *cell;
cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCellTwo"];
return cell;
break;
default:
break;
}
或者这是错误的方法?有没有更有效的方法来做到这一点?