iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0
Mobile Development

IOS菜逼八連續30天挑戰系列 第 18

Day 18 UItableView的練習 (2/3)

上一篇我們講到建立一個UItable View的一些基本方法,接下來我們可以建立一些資料在上面

 var list = [
    ("cart", "購物", "安排於9/1"),
    ("eye", "看眼科", "安排於9/2"),
    ("bicycle", "騎單車", "安排於9/3"),
    ("figure.walk", "健走", "安排於9/4"),
    ]

之後我們把"有幾個row",設定成我們list的數量

 func tableView( tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return list.count
    }

之後把每個row要顯示的東西透過cellForRowAt這個功能顯示出來

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableview.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        cell.imageView?.image = UIImage(systemName: list[indexPath.row].0)
        cell.textLabel?.text = list[indexPath.row].1
        cell.detailTextLabel?.text = list[indexPath.row].2
        return cell
    }

剛剛設的儲存碼(Identifier),簡單解釋就是假設我們有10000筆資料要顯示,一次顯示10000筆資料會對效能產生很大影響,所以我們就可以使用重用機制,只產生顯示於畫面上的資料,當使用者滑動時,將畫面上的資料更新成下一筆~

然後我們可以藉由下列function去知道哪個表格被我們點選:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        print("you tap me!")
    }

完成後如下:可以看到終端機上面顯示的"you tap me!"


上一篇
Day 17 UItableView的練習 (1/3)
下一篇
Day 19 UItableView的練習 (3/3)
系列文
IOS菜逼八連續30天挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言