我的viewDidLoadviewWillAppear:方法中有一些初始化代码,这些方法可用于多个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/

10-14 21:26
查看更多