#56 資料保存-iOS UserDefaults-3-簡易Todo List App
Published in
2 min readJan 8, 2024
⭐️ 實作一個可以新增,讀取,刪除,修改 & 儲存資料的 App (hw19–1)
簡單寫一個 Todo List App,可以新增,讀取,刪除,修改 & 儲存資料,資料存放在 UserDefaults。
操作畫面
螢幕截圖:
讀取、新增、狀態變更
螢幕截圖:
新增、刪除
主要練習到的 API
unwindSegue
@IBAction func myUnwindAction(unwindSegue: UIStoryboardSegue)
trailingSwipeActionsConfigurationForRowAt
override func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath)
userDefaults 存取 data 資料
struct Todo: Codable, Equatable {
var title: String // 任務的標題
var note: String? // 任務的附註(可選)
var isCompleted: Bool
static func loadTodos() -> [Todo]? {
let userDefaults = UserDefaults.standard
guard let data = userDefaults.data(forKey: todoKey) else { return nil }
let decoder = JSONDecoder()
return try? decoder.decode([Todo].self, from: data)
}
static func saveTodos(_ todos: [Todo]) {
let encoder = JSONEncoder()
guard let data = try? encoder.encode(todos) else { return }
UserDefaults.standard.set(data, forKey: todoKey)
}
}
在一個小地方卡了一下,再回去看教學才發現原因,耍笨,記錄一下。