一片空白的 static table

表格是 iOS App 裡十分重要的元件,我們看到的 App 頁面,幾乎一半以上都是用表格實現。而搭配 UITableViewController 的 static table 更是 Apple 的偉大發明,透過它一行程式都不用寫,在 storyboard 編輯即可打造固定內容的表格頁面。

然而當我們將 controller 的類別從 UITableViewController 改成自訂的 table view controller 類別時,程式裡有個地方要稍做調整,否則 App 執行後將看到一片空白的表格,我們在 storyboard 精心設計的畫面恰似一江春水向東流,完全不見了 !

問題出在自訂的 table view controller 類別下的這兩個 function,它們控制著表格有幾個 section,每個 section 有幾個 cell。兩個 function 裡的程式預設都回傳 0,當然就讓我們的表格一片空白了。

override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 0
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return 0
}

解決的方法很簡單,只要將這兩個 fucntion 刪除即可,static table 從 storyboard 的畫面即可知道它有幾個 section,幾個 cell,不需要這兩個 function 的幫忙。