iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
生成式 AI

Swift一下就會了系列 第 17

Day 17 留言板 2

  • 分享至 

  • xImage
  •  

我們今天繼續來做留言板。

最後要長這個樣子。
https://ithelp.ithome.com.tw/upload/images/20251001/20178746tRhuwRWXJP.png

因為昨天已經安裝 Realm 套件並建立資料模型,
所以今天在程式一開始記得先引入:

import RealmSwift

這樣後續才能使用 Realm 的資料讀寫功能。

建立 IBOutlet

在程式中宣告對應的屬性,方便操作 UI:

// MARK: - IBOutlet
    @IBOutlet weak var txfUser: UITextField!   // 使用者名稱輸入框
    @IBOutlet weak var lbUser: UILabel!        // 顯示目前使用者名稱
    @IBOutlet weak var lbComments: UILabel!    // 顯示留言總數
    @IBOutlet weak var tbvData: UITableView!   // 顯示留言列表的 TableView
    @IBOutlet weak var txvContent: UITextView! // 輸入留言內容
    @IBOutlet weak var btnSent: UIButton!      // 送出留言按鈕
    @IBOutlet weak var btnSort: UIButton!      // 排序留言按鈕

宣告屬性

我們需要一些變數來管理資料與狀態:

// MARK: - Proprtty
    // 儲存留言內容的陣列
    var messageArray: [MessageBoard] = []
    // 排序
    var isAscending = false
  • messageArray:用來存放從資料庫讀取的留言。
  • isAscending:用來記錄目前的排序方向,方便切換「最新 → 最舊」或「最舊 → 最新」。

viewDidLoad 中進行初始設定:

// MARK: - LifeCycle
    override func viewDidLoad() {
        super.viewDidLoad()
        setUi()    // UI 設定
        dataBase()   // 從資料庫載入資料
    }

UI 設定

建立一個 setUi() 來集中處理 UI:

// MARK: - UI Setting
    func setUi(){
        tableSet()    // TableView 基本設定
        btnSent.setTitle("送出", for: .normal) // 設定送出按鈕的文字
    }

結語

今天我們完成了留言板的 畫面連接初步設定
接下來只要把資料庫功能與 TableView 顯示串起來。


上一篇
Day 16 留言板 1
下一篇
Day 18 留言板 3
系列文
Swift一下就會了20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言