iT邦幫忙

2022 iThome 鐵人賽

DAY 15
0
Mobile Development

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

【從零開始的Swift開發心路歷程2-Day15】CloudKit實作(4)-修改資料

  • 分享至 

  • xImage
  •  

昨天實作完刪除資料後,今天來實作修改資料的功能

func updateItem(index: Int, value: String){
        database.fetch(withRecordID: nameArray[index].recordID!) { record, error in
            if record != nil && error == nil{
                record?.setValue(value, forKey: "name")
                self.database.save(record!) { [weak self] record, error in
                    if record != nil && error == nil{
                        print("修改成功")
                        self?.fetchItem()
                    }else{
                        print(error)
                    }
                }
            }else{
                print(error)
            }
        }

上面這個function會先根據recordID去尋找該筆資料再去進行setValue並儲存結果
參數的index就是cell的indexPath.row(也對應到People陣列的index值),value是textField裡面的文字
而我們在先前令的protocol,把case "Edit"內的功能加上去

let alert = UIAlertController(title: "修改", message: "", preferredStyle: .alert)
            alert.addTextField { textField in
                textField.placeholder = "Name"
            }
            let okAction = UIAlertAction(title: "確認", style: .default) { action in
                self.updateItem(index: index, value: alert.textFields![0].text!)
            }
            let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
            alert.addAction(okAction)
            alert.addAction(cancelAction)
            self.present(alert, animated: false, completion: nil)

就能成功修改資料至CloudKit Database啦!

如此一來CloudKit的功能大致上都實作完成了,明天會開始講新的主題,敬請期待~


上一篇
【從零開始的Swift開發心路歷程2-Day14】CloudKit實作(3)-刪除資料
下一篇
【從零開始的Swift開發心路歷程2-Day16】MVC與MVVM(上)
系列文
從零開始的Swift開發心路歷程230
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言