Ouvrir le menu principal

MacGeneration

Recherche

Initiation à Combine et SwiftUI #3 : le modèle de la vue

Florent Morin

vendredi 01 janvier 2021 à 09:00 • 15

Logiciels

Dans le précédent article de cette série, nous avons conçu un moteur de jeu qui exploite Combine. Cependant, les données renvoyées par notre moteur de jeu ne sont pas exploitables directement par SwiftUI. Il faut donc les transformer.

Heureusement, le framework Combine est particulièrement bien adapté pour faire ce tour de passe-passe qui rendra votre code plus lisible. Vous pouvez toujours télécharger le code source complet en ligne. Le fichier principalement concerné par le présent article est GameViewModel.swift en complément du code principal du playground.

Initiation à Combine et SwiftUI
  1. Les bases
  2. Le moteur de jeu
  3. Le modèle de la vue
  4. La vue en SwiftUI (à venir)

MVVM ?

Dans l’architecture MVVM, qui est plutôt plébiscitée lors de l’utilisation des composants SwiftUI et Combine, il y a trois composants :

  • le modèle : dans notre cas, c’est le moteur de jeu, la donnée brute
  • le modèle de la vue : c’est un modèle qui sort des données directement interprétables par la vue
  • la vue : c’est la partie qui interagit avec l’utilisateur, l'interface graphique

Le modèle de la vue, parfois appelé « vue modèle » du fait de la traduction de « ViewModel », doit donc fournir à la vue des données directement exploitables.

Modèle de vue dans l'ensemble MVVM

L’avantage, …

Soutenez MacGeneration sur Tipeee

Cet article est réservé aux membres du Club iGen


Rejoignez la plus grande communauté Apple francophone et soutenez le travail d'une rédaction indépendante. Le Club iGen, c'est:

  • des articles de qualité rien que pour vous
  • un podcast exclusif
  • pas de publicité
  • un site dédié !

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Chaises musicales chez Apple : Lisa Jackson et la directrice juridique officiellement sur le départ en 2026

04/12/2025 à 23:07

• 15


L’IA est un gouffre à énergie, et les modèles à raisonnement sont encore pires que les précédents

04/12/2025 à 21:45

• 86


Des clés de sécurité FIDO2 en promotion, pour différents scénarios et appareils

04/12/2025 à 18:15

• 7


Cyberpunk 2077, Strava, Pokémon TCG : Apple présente les apps de l’années 2025

04/12/2025 à 17:17

• 11


Des doutes sur le reconditionné ? 30 mois de garantie, 30 jours satisfait ou remboursé. Toujours sceptique ?

04/12/2025 à 16:20

• 0


La Russie bloque FaceTime

04/12/2025 à 15:39

• 117


N'espérez pas acheter de SSD à bon prix chez Transcend : la société ne reçoit plus de mémoire flash

04/12/2025 à 11:10

• 23


Tesla veut impressionner ses clients européens avec des démonstrations de sa conduite autonome (supervisée)

04/12/2025 à 09:31

• 100


120 000 caméras connectées piratées pour obtenir des vidéos frivoles

04/12/2025 à 08:52

• 61


ExpressVPN a enfin droit à une app Mac native

04/12/2025 à 08:30

• 5


Le départ d'Alan Dye chez Meta : une bénédiction pour le design d’Apple ?

04/12/2025 à 08:05

• 39


Apple efface déjà John Giannandrea de sa page des dirigeants

04/12/2025 à 07:30

• 10


Chez Meta, Alan Dye va diriger un studio créatif pour inventer l’après-smartphone

04/12/2025 à 06:30

• 20


Comparatif MacBook Air et MacBook Pro : faut-il vraiment passer au Pro ?

03/12/2025 à 23:55

• 35


Apple met en ligne la Release Candidate d'iOS 26.2, iPadOS 26.2 et macOS 26.2

03/12/2025 à 22:25

• 13


Meta récupère Alan Dye, responsable des interfaces depuis 2010 et n°2 du design d’Apple

03/12/2025 à 21:30

• 59