前提・実現したいこと
次のコードの、listsをUserDefaultsで保存したいのですが、クラス内のクラスの配列の扱い方がわかりません。
該当のソースコード
Swift
1import Foundation 2import UIKit 3 4class Task: Identifiable, Codable { 5 var id: UUID 6 var taskName: String 7 var isCompleted: Bool 8 var flag: Bool 9 var date: Date? 10 11 init(id: UUID, taskName: String, idCompleted: Bool, flag: Bool, date: Date?) { 12 self.taskName = taskName 13 self.id = id 14 self.isCompleted = idCompleted 15 self.flag = flag 16 self.date = date 17 } 18} 19 20class TaskList: NSObject, Codable { 21 var title: String 22 var tasks: [Task] 23 24 init(title: String, tasks: [Task]) { 25 self.title = title 26 self.tasks = tasks 27 } 28} 29 30 31 32var lists = [TaskList(title: "やること", tasks: [Task]()), 33 TaskList(title: "買い物", tasks: [Task]() )] 34
また、読み出す時はTableViewに表示したいです。
import Foundation import UIKit class HomeView: UIViewController, UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { lists.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "ListCell", for: indexPath) cell.textLabel!.text = lists[indexPath.row].title return cell }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/19 14:49