#56 資料保存-iOS UserDefaults-3-簡易Todo List App

⭐️ 實作一個可以新增,讀取,刪除,修改 & 儲存資料的 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)
}
}

在一個小地方卡了一下,再回去看教學才發現原因,耍笨,記錄一下。

--

--