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

Matter 1.5 fait enfin entrer les caméras dans la domotique standard

14:05

• 4


Black Friday : prix records sur les SSD externes Crucial X10 jusqu’à 8 To

13:12

• 5


macOS 26.2 corrigerait une bonne fois pour toutes le bug des apps Electron qui font ramer Tahoe

11:52

• 5


macOS Tahoe 26.2 va doper le machine learning sur les Mac M5

11:43

• 7


Black Friday : le Soundcore Space One Pro en promo à 129 €, son meilleur prix

10:31

• 9


Black Friday : le Mac mini M4 avec 1 To de stockage à 949 € aujourd’hui seulement

10:13

• 5


Atlas progresse sur Mac et gagne des onglets verticaux et les passkeys iCloud

09:59

• 3


Le MacBook Pro M5 avec 24 Go de RAM à 1 799 € et d’autres configs spéciales en promo 🆕

09:54

• 20


Apple Store : un Black Friday du 28 novembre au 1er décembre sans iPhone 17 ni MacBook Pro M5

09:40

• 5


Un pilote de F1 battu pour la première fois par une monoplace sans pilote

07:30

• 48


Attendre l’iPhone 18 Pro ou craquer pour le 17 Pro ? Nos dix raisons pour trancher

07:21

• 46


IA : Yann LeCun quittera bien Meta à la fin de l'année 🆕

06:16

• 39


Une attaque particulièrement bien ficelée cible des utilisateurs Apple

19/11/2025 à 23:45

• 71


Tim Cook invité au dîner officiel de Mohammed Bin Salman à la Maison Blanche

19/11/2025 à 22:15

• 50


Test du Osmo Mobile 8 : le stabilisateur de DJI s'ouvre à DockKit, pour un suivi dans toutes les apps

19/11/2025 à 21:25

• 6


Offrez-vous un MacBook Air M1 à moins de 450 € avec le code BLACK40

19/11/2025 à 21:24

• 0