UITableViewController 和 UIViewController 的區別是什麼?
UITableViewController 和 UIViewController 是 iOS UIKit 框架中的兩個不同物件。兩者用於不同的目的。
UIViewController 類管理一個檢視控制器,它負責檢視控制器內發生的事件。此類知道檢視控制器上發生的事件,例如 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 並實現表格檢視的協議,即 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() 方法中完成的。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP