iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0
Mobile Development

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

Day 28 Realm的練習-使用者註冊系統(2/3)

昨天我們把一資料庫建里好之後,今天我們學習怎麼把資料寫進去吧~

在MainVC裏面先建立一個空陣列,然後把struct丟到陣列裡,等等做TableView更新要用,然後生成realm。

//寫在ViewDidLoad外面
var users = [structData]()
let realm = try! Realm()

我們在ViewDidLoad底下把delegate跟dataSource弄好,不然TableView會跑不出來~

MyTableView.dataSource = self
MyTableView.delegate = self

然後我們在旁邊的檔案建立一個TableViewCell,底下建立Cocoa Touch Class -> 然後選TableViewCell,XIB記得勾。

好了之後,拉一個Label進去

然後回到MainVC,把他註冊到裡面去

let cellNib = UINib(nibName: "MyTableViewCell", bundle: nil)
MyTableView.register(cellNib, forCellReuseIdentifier: "Cell")

設定cell的數量(依據使用者數量決定)

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

然後建立一個Button的Action,裡面要做的事情就是按下按鈕之後,資料寫到Realm裏面。

@IBAction func SaveData( sender: Any) {
    try! self.realm.write{
        let data: Users = Users()
        data.name = UserNameTextField.text!
        data.password = PasswordTextField.text!
        data.email = EmailTextField.text!
        self.realm.add(data)
        //清空輸入框
        UserNameTextField.text = ""
        PasswordTextField.text = ""
        EmailTextField.text = ""      
    }
    
}

然後顯示user:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! MyTableViewCell
    cell.userNameLabel.text = self.users[indexPath.row].setUser
    return cell
}

這樣就成功了~


上一篇
Day 27 Realm的練習-使用者註冊系統(1/3)
下一篇
Day 29 Realm的練習-使用者註冊系統(3/3)
系列文
IOS菜逼八連續30天挑戰30

尚未有邦友留言

立即登入留言