初期データ挿入と既存データ変換
SwiftDataの@Modelに新規プロパティを追加した際の互換性維持と、初期データの自動挿入を行う仕組み。 UserDefaults フラグで「一度だけ実行」を保証。
| 処理 | UserDefaultsフラグ | 実行内容 |
|---|---|---|
migrateCategoryToRawValue() | migratedCategory | ローカライズ名 → rawValue 変換 |
insertDefaultExercises() | hasInsertedDefaults | 初期種目を挿入 |
insertCardioDefaults() | hasInsertedCardioDefaults | 有酸素デフォルト種目挿入 |
insertExpandedDefaults() | hasInsertedExpandedDefaults | 拡張デフォルト種目挿入 |
insertDefaultTemplates() | hasInsertedDefaultTemplates | 初期テンプレート挿入(目標・経験別) |
@Model final class Exercise {
var memo: String = "" // ★デフォルト値
var useCardioInput: Bool = false // ★デフォルト値
}
| バージョン | 日付 | 変更内容 |
|---|---|---|
| 1.0 | 2026-05-09 | 初版作成 |