swift中tableview的使用和注意事項

2022-07-07 22:42:09 字數 1127 閱讀 2386

今天使用swift寫了個簡單的tableview,語法和用法上跟oc沒多大的區別。但是還是有一些細節的地方需要注意一下的。

先上**

import uikit

class viewcontroller: uiviewcontroller,uitableviewdelegate,uitableviewdatasource

func tableview(tableview: uitableview!, numberofrowsinsection section: int) -> int

func tableview(tableview: uitableview!, cellforrowatindexpath indexpath: nsindexpath!) -> uitableviewcell!

cell!.textlabel.text="\(indexpath.row)"

return cell

}}

注意以下幾點:

1,資料來源方法,

func tableview(tableview: uitableview!, cellforrowatindexpath indexpath: nsindexpath!) -> uitableviewcell!
func tableview(tableview: uitableview!, numberofrowsinsection section: int) -> int

這兩個方法是必須實現的,如果你不實現這兩個方法,編譯器就會報錯。而不再是跟oc的時候一樣,執行的時候才會報錯

所以,當你寫完_tableview!.datasource=self的時候,會出現報錯,然後你在頭部加班uitableviewdatasource,依然報錯。當你實現了上面兩個方法後,錯誤就會消失

2,cell的重用

var cell=tableview.dequeuereusablecellwithidentifier("cellid") as? uitableviewcell

這裡需要注意的一點是,後面強轉成uitableviewcell的時候,在as後面帶上個問號,因為在快取池裡不一定能找到可以重用的cell,不帶問號就會引起cell為nil的錯誤

初學經驗,如有不妥,望大神指點

Swift 建立乙個tableview

最近學習了一下swift,學完了基本語法嘗試寫了乙個tableview,確實遇到好多坑,下面上 和大家交流交流 怎麼建立乙個程式就不說了。import uikit tips swift裡面的協議繼承直接這樣寫就好了 class viewcontroller uiviewcontroller,uita...

Swift 關於tableView的多選和刪除

建立表 tableview在沒有實現datasource的三個方法是 tableview.datasource self 會報錯 關於tableview的多選操作 func tableview tableview uitableview,editingstyleforrowat indexpath ...

Swift 實現tableView單選系統樣式

實現tableview單選 import uikit class viewcontroller uiviewcontroller var tableview uitableview override func viewdidload super.viewdidload tableview uitab...