相关疑难解决方法(0)

UIViewController和UITableViewController有什么区别

有时我想将UIViewController子类化为一些应用程序范围的自定义.例如.所有视图控制器应在viewDidLoad或viewWillAppear左右执行的操作.

当然,我是UIViewController的子类,并从那里开始,所有视图控制器都继承自那里.但是一些控制器运行表.还有为此目的设计的UITableViewController.

所以我也是UITableViewController的子类,只是在那里做同样的事情.在OOP术语中,这似乎不是最聪明的事情.而且没有多重继承等.

因为UITableViewController继承自UIViewController ......

现在我问自己为什么我不只是创建自己的表视图控制器,它继承自我自己的视图控制器子类并添加所有表的东西.但什么是"所有的桌子"

  • 有一个xcode添加到每个新表视图控制器的框架代码.非常方便,但可以很容易地转移到代码片段.
  • 有UITableViewDelegate和UITableViewDataSource协议的声明.随和.无论如何,这些方法的实现必须遵循UITableViewController的每个子类.
  • 协议中所有这些强制方法可能都有合理的默认实现.比如为numberOfSectionsInTableView返回0:或者为titleForHeaderInSection返回nil,或者为heightForRowAtIndexPath返回44.0f :(虽然这是个坏例子.可能更聪明,根本没有实现)

所以尽管有明显的东西,UITableViewController还有什么奇迹需要处理吗?

cocoa-touch uitableview uiviewcontroller ios

11
推荐指数
1
解决办法
5960
查看次数

标签 统计

cocoa-touch ×1

ios ×1

uitableview ×1

uiviewcontroller ×1