Migrar un ViewModel a @Observable
Cuándo usarlo: La app es iOS 17+ pero los ViewModels siguen usando ObservableObject + @Published.
Requisitos previos
- Skill instalado — git clone https://github.com/CharlesWiltgen/Axiom ~/.claude/skills/axiom
- Deployment target mínimo iOS 17 — Configuración del proyecto
Flujo
-
InventariarAxiom: lista todos los ObservableObject + @Published del proyecto. Nota cuáles son hoja vs compartidos.✓ Copiado→ Lista con forma + sugerencias de dependencia
-
Migrar unoRefactoriza ProfileViewModel a @Observable. Mantén la API pública estable. Actualiza los bindings de las Vistas consumidoras.✓ Copiado→ VM migrado; @Bindable usado en las vistas; sin @Published restante
-
VerificarEjecuta xcodebuild para el scheme. Informa cualquier warning.✓ Copiado→ Build limpio; sin warnings de Swift 6
Resultado: Base de código @Observable moderna con vistas más limpias.
Errores comunes
- Los tests existentes dependen de la proyección de @Published ($name) — Los tests necesitan reescribirse; no todos los patrones de acceso se mapean directamente