我的viewDidLoad
和viewWillAppear:
方法中有一些初始化代码,这些方法可用于多个UIViewController子类(实现):
-(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的问题。
干杯
最佳答案
您是否考虑过以下结构:
UIViewController-> your_First_Level_Subclass_View_Controller-> your_Second_Level_Subclass_View_Controller
在第一级中,您实现了那些与可重用/ tableView相关的代码,但实际上并未使用此第一级控制器。然后,您可以将此第一级子类化以创建第二级控制器,这是您将要使用的最终控制器。
关于iphone - 子类化实现UITableView委托(delegate)和数据源的UIViewController:代码重用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4573137/