希紋的部落格

APP範例:優雅筆記,擴充「可勾選清單(Checklist)」

這邊是優雅筆記(ElegantNote)的延伸,請先觀看後再閱讀

起因是在製作這個APP的時候,發現到提供的假資料有類似清單的格式,就請Claude幫我看能否做一個功能擴充,當然就直接幫我做出來了。

功能概覽

完成後的 Checklist 功能包含以下四個改動:

  1. ChecklistItem 模型:儲存每個項目的文字與勾選狀態。
  2. Note 模型更新:加入 isChecklist 標誌與 checklistItems 關聯。
  3. NoteEditorView 整合:底部工具列新增「清單/文字」切換按鈕,切換後顯示 ChecklistEditorView。
  4. NoteCardView 預覽:清單筆記的卡片改以勾選項目取代純文字摘要。

建構順序

  1. 建立 Models/ChecklistItem.swift
  2. 更新 Note.swfit,加入ChecklistItem相關的設定(建立關係)
  3. 建立 Views/ChecklistItemRow.swift,設計選單的樣式
  4. 建立 Views/ChecklistEditorView.swift,待辦事項的列表呈現
  5. 更新NoteEditorView.swift,將Checklist的設定增加進去
  6. 更新NoteCardView.swift,預覽Checklist部分加進去
  7. 凡是有建立 ModelContainer 的地方,Schema 都需要加入 ChecklistItem.self
  8. 更新PreviewContainer.swift,假資料增加Checklist部分

總結

這個增加的元件其實很小很小,不是什麼大功能。

不過可以學習到在SwiftUI中插入一個新功能的概念會比在UIKit的時候容易思考。

而這部分也沒什麼新的知識要學,所以內容簡短。

#swift