お世話になっております。
現在、シンプルなToDoアプリの実装を試みております。
その設計方法として、まずToDo一つひとつを「タスク」と命名し、その上でタスクの中身をクラスで指定し、TaskListクラスでCRUD(今回はタスクの生成、読み取り、編集、削除)機能を担うようにしたいと考えています。
swift
1class Task { 2 let id: Int 3 var order: Int //orderは順番 4 var content: String 5 init(id: Int, order: Int, content: String) { 6 self.id = id; self.order = order; self.content = content 7 } 8} 9 10class TaskList { 11 var tasklist: [Task] = [Task(id: 1, order: 1, content: "本屋に行く"), Task(id: 2, order: 2, content: "CD屋に行く")] 12 13 func read() { 14 ~省略~ 15 } 16 17 func add(content: String) { 18 ~省略~ 19 } 20 21 func edit(content: String, order: Int) { 22 ~省略~ 23 } 24 25 func delete(order: Int) { 26 ~省略~ 27 } 28} 29
そういった中で、タスクを永続化するべく一度タスクリスト(タスクが集まったデータ群)をJSONに落とし込む必要があるのですが、Taskクラスで指定したデータをJSONに変換できずに困っています。
このような場合、どのように対処を行えば良いでしょうか?
何か少しでもお分かりの方がいらっしゃいましたら、ぜひともご教示のほどよろしくお願いします。
※今回はSwiftyJsonを使用
swift
1var json_task = JSON(arrayLiteral: TaskList().tasklist) 2//print(json_task)の出力結果↓ 3unkwown //出力が失敗する(MvcUnderstandはプロジェクト名) 4 5var json = JSON(arrayLiteral: [Task(id: 1, order: 1, content: "本屋に行く"), Task(id: 2, order: 2, content: "CD屋に行く")]) 6//print(json)の出力結果↓ 7[ //期待している出力結果 8 { 9 "id" : 1, 10 "order" : 1, 11 "content" : "本屋に行く" 12 }, 13 { 14 "id" : 2, 15 "order" : 2, 16 "content" : "CD屋に行く" 17 }, 18] 19 20//以下補足 21print(TaskList().tasklist) 22[MvcUnderstand.Task, MvcUnderstand.Task] //出力結果 23 24print(TaskList().tasklist) 25Array<Task> //出力結果 26
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/03 04:14
2016/08/03 04:24
2016/08/03 14:20