UserDefaultsを使ってtodoListのようなものを作っています。
データを自作のListという型を使って保存したく、こちらの記事を参考にしながら作成しました。
https://qiita.com/yutmr/items/25a25617cf6f0482c88d
この記事の一番下にあるように実装した場合、新規データを作成するにはどのように記述したら良いのでしょうか?
List.init(from: Decoder)のdecoder部分がどうしてもうまく実装できません。
Swift
1 init(from decoder: Decoder) throws { 2 let values = try decoder.container(keyedBy: CodingKeys.self) 3 id = try values.decode(Int.self, forKey: .id) 4 name = try values.decode(String.self, forKey: .name) 5 age = (try? values.decode(Int.self, forKey: .age)) ?? 0 6 }
そもそもまだencodeしてないデータを作成するのに初期化でdecoderが求められるのも違和感を感じています。
新しくプロパティを追加した際もデータを取得できるようにしたいので何かいい方法があればご教授いただきたいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/13 00:58
2019/05/13 01:33
2019/05/13 01:42