[SwiftUI]Kanji and Hanzi/漢字→汉字テスト - (2) Set initial data
- handmadeapp
- 2020年2月23日
- 読了時間: 1分
中国語の漢字練習アプリの続きです。
データの持ち方を検討。
継続的に練習することを考えると、データの永続化が必要。→CoreData?
allにはテストに表示した回数、correctにはそのうち正解した回数を保持することに。

問題は、どうやってCoreDataに初期値を設定するか。
初回起動時→まずは初期値を設定。初期値設定後にテストを実施できるようになる。
2回目以降起動時→そのままテストができる。(初期値設定の選択肢は表示されない)
としたい。
Home画面を用意して、初回表示時は「Load Data」ボタン、
その後は「Start Test」ボタンを表示するように。
初回の起動かどうかは、UserUserDefaultsに設定しておく。

”@State private var hasloadedData: Bool”を用意し、
設定された値に応じてボタンの表示を切り替える。
setInitialData のFunctionで、ベタ打ちしたテスト対象の感じの一覧を取り込み、
CoreDataに保存。
これで、CoreDataに初期値が設定され、テストが開始できるようになる。
ちなみに、「To List」ボタンからは、CoreDataに登録されたデータの一覧を、
[日本語の漢字] [中国語の漢字] [Correct数] / [All数]
の形式で一覧表示できるように。(List View)

フォーマットの改善余地はあるかも、ですが。まぁ、一旦これで。
Listの「onDelete」で、選択削除もできるように。
次は、テスト画面に対象の漢字を順に表示する機能に取り組もうと思います。
コメント