前提・実現したいこと
前回の質問でコードの例がよくなかったため、コードを修正し質問させていただきます。
UserDefaultsに下記のように辞書の配列を保存しています。
Taskクラスの配列を扱う変数を初期化し、UserDefautlsから取得したデータをそこに格納しました。
デバッグエリアに出力してみたところ、下記のように出力されました(TodoSampleはプロジェクト名です)。
[TodoSample.Task, TodoSample.Task, TodoSample.Task]
なぜ、データの値が出力されずに、プロジェクト名.クラス名と出力されるのでしょうか?
理由が分からず、ご教示いただけませんでしょうか?
該当のソースコード
Task
1class Task { 2 3 var taskTitle: String 4 var date: String 5 6 init(taskTitle: String, date: String) { 7 self.taskTitle = taskTitle 8 self.date = date 9 } 10}
class ShowTaskModel { var privateTask: [Task] = [] func getPrivateTask() { guard let privateTasks = userDefautls.array(forKey: "個人") as? [[String: String]] else { return } for data in privateTasks { let taskTitle = data["taskTitle"] ?? "" let date = data["date"] ?? "" let taskData = Task(taskTitle: taskTitle, date: date) self.privateTask.append(taskData) } print(self.privateTask) //[TodoSample.Task, TodoSample.Task, TodoSample.Task] } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/24 06:48