UITableViewController和UIViewController有什么区别?

UItableViewController和UIViewController是iOS UIKit框架的两个不同对象。两者都有不同的用途。

UIViewController类管理ViewContoller,后者负责该View控制器内发生的操作。此类知道在视图控制器上发生的动作,例如ViewDidLoad,ViewWillApper,ViewDidAppear,ViewWillDisapper,ViewDidDisapper。

鉴于UITableViewController负责管理表,它使用UITableViewDataSource,UITableViewDelegate来管理数据和事件。

UITableViewController符合UIViewController,UITableViewDataSource和UITableViewDelegate来实现表视图。

下面是实现UIViewController的类的示例。

class ViewController : UIViewController {

   @IBOutlet weak var sampleView: UIView!

   override func viewDidLoad() {

   }

}

UITableViewController也符合UIViewController,因此可以实现UIViewController的方法。如果该ViewController除了表视图之外没有其他任何内容,则通常使用UITableViewController。

如果视图控制器与tableView一起具有其他内容,则我们通常将其与UIViewController一致,并实现Table View的协议,即UITableViewDataSource来为该表分配一些数据源,以及UITableViewDelegate来处理该表视图上的事件。

实现UITableViewDataSource或UITableViewDelegate的UIViewController的示例是

class ViewController : UIViewController, UITableViewDataSource, UITableViewDelegate {

   override func viewDidLoad() {

   }

   func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) −> Int {

      //

   }

   func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) −> UITableViewCell {

   //

   }

}

除上述内容外,还有下面提到的表格视图的其他一些属性。

  • 当表格视图即将出现时,它将重新加载其数据。

  • 表格视图默认显示时清除它的选择。

  • 当表格视图出现在屏幕上时,其滚动指示器将闪烁。这是在viewDidAppear()方法内完成的。

以上是 UITableViewController和UIViewController有什么区别? 的全部内容, 来源链接: utcz.com/z/356232.html

回到顶部