我在viewDidLoad
和viewWillAppear:
方法中有一些初始化代码,这些方法用于我的许多UIViewController子类(实现< UITableViewDataSource,UITableViewDelegate>):
-(void)viewDidLoad {
[super viewDidLoad];
self.tableView = [[UITableView alloc] initWithFrame:CGRectZero
style:UITableViewStylePlain];
self.tableView.delegate = self;
self.tableView.dataSource = self;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
[self.view addSubview:self.tableView];
[self.tableView reloadData];
}
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.tableView.frame = self.view.bounds
}
我的想法是将UIViewController子类化并在子类中包含这些方法,以便不必在所有视图控制器中编写此代码。
您对此有何看法?我想知道这是否会导致保留tableView的问题。
干杯
答案 0 :(得分:2)
您是否考虑过这种结构:
UIViewController - > your_First_Level_Subclass_View_Controller - > your_Second_Level_Subclass_View_Controller
在第1级中,您实现了那些可重用/ tableView相关的代码,但实际上并没有使用这个第1级控制器。然后,您将第1级子类化为创建第2级控制器,这是您将要使用的终极控制器。