Migrer un ViewModel vers @Observable
Quand l'utiliser : L'application est en iOS 17+ mais les ViewModels utilisent encore ObservableObject + @Published.
Prérequis
- Skill installé — git clone https://github.com/CharlesWiltgen/Axiom ~/.claude/skills/axiom
- Cible de déploiement iOS 17 minimum — Paramètres du projet
Déroulement
-
InventaireAxiom : liste chaque ObservableObject + @Published dans le projet. Note lesquels sont feuille vs partagé.✓ Copié→ Liste avec forme + indices de dépendances
-
Migrer l'un d'euxRefactorise ProfileViewModel vers @Observable. Garde l'API publique stable. Mets à jour les bindings des Views consommatrices.✓ Copié→ VM migré ; @Bindable utilisé dans les vues ; plus de @Published
-
VérifierLance xcodebuild pour le scheme. Signale les warnings.✓ Copié→ Build propre ; pas de warnings Swift 6
Résultat : Base de code @Observable moderne avec des vues plus propres.
Pièges
- Les tests existants s'appuient sur la projection @Published ($name) — Les tests doivent être réécrits ; tous les patterns d'accès ne se mappent pas directement