APP範例:優雅筆記,擴充「可勾選清單(Checklist)」
這邊是優雅筆記(ElegantNote)的延伸,請先觀看後再閱讀
起因是在製作這個APP的時候,發現到提供的假資料有類似清單的格式,就請Claude幫我看能否做一個功能擴充,當然就直接幫我做出來了。
功能概覽
完成後的 Checklist 功能包含以下四個改動:
- ChecklistItem 模型:儲存每個項目的文字與勾選狀態。
- Note 模型更新:加入 isChecklist 標誌與 checklistItems 關聯。
- NoteEditorView 整合:底部工具列新增「清單/文字」切換按鈕,切換後顯示 ChecklistEditorView。
- NoteCardView 預覽:清單筆記的卡片改以勾選項目取代純文字摘要。
建構順序
- 建立
Models/ChecklistItem.swift - 更新
Note.swfit,加入ChecklistItem相關的設定(建立關係) - 建立
Views/ChecklistItemRow.swift,設計選單的樣式 - 建立
Views/ChecklistEditorView.swift,待辦事項的列表呈現 - 更新
NoteEditorView.swift,將Checklist的設定增加進去 - 更新
NoteCardView.swift,預覽Checklist部分加進去 - 凡是有建立 ModelContainer 的地方,Schema 都需要加入
ChecklistItem.self - 更新
PreviewContainer.swift,假資料增加Checklist部分
總結
這個增加的元件其實很小很小,不是什麼大功能。
不過可以學習到在SwiftUI中插入一個新功能的概念會比在UIKit的時候容易思考。
而這部分也沒什麼新的知識要學,所以內容簡短。