iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
Mobile Development

從零開始的Swift開發心路歷程2系列 第 5

【從零開始的Swift開發心路歷程2-Day5】簡單的FMDB練習(4)-顯示資料

  • 分享至 

  • xImage
  •  

昨天我們講完了如何新增資料,今天來講一下要如何在TableView上顯示資料吧!
我的做法是在資料庫的swift檔中建立一個function,來執行SQL的查詢語法,語法後面沒有WHERE查詢子句的話代表的是查詢所有資料

func fetchData() -> [Resume]{
        var resume = [Resume]()
        if self.connectDB(){
            let fetchData = "SELECT * FROM RESUME"
            do {
                let dataLists: FMResultSet = try database.executeQuery(fetchData, values: nil)
                while dataLists.next() {
                    let data: Resume = Resume(id: dataLists.string(forColumn: "id")!, name: dataLists.string(forColumn: "name")!, age: dataLists.long(forColumn: "age"))
                    resume.append(data)
                }
            } catch {
                print(error.localizedDescription)
            }
        }
        return resume
    }

這個function會直接回傳我自定義[Resume]型別的陣列,再用主畫面宣告的空陣列接收資料

var resumeList = [Resume]()

func fetchData(){
        resumeList = Database.shared.fetchData()
        DispatchQueue.main.async {
            self.resumeTableView.reloadData()
        }
    }

接下來就是一些基本的TableView顯示資料的程式碼

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return resumeList.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "ResumeTableViewCell",for: indexPath) as! ResumeTableViewCell
        cell.nameLabel.text = resumeList[indexPath.row].name
        cell.ageLabel.text = String(resumeList[indexPath.row].age)
        return cell
    }

就能成功顯示資料啦~

明天會來講一下UIMenu,以利後續進行修改及刪除資料


上一篇
【從零開始的Swift開發心路歷程2-Day4】簡單的FMDB練習(3)-新增資料
下一篇
【從零開始的Swift開發心路歷程2-Day6】簡單的UIMenu
系列文
從零開始的Swift開發心路歷程230
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言