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

Test du lampadaire de SwitchBot : un bon éclairage Matter sans se ruiner

10:54

• 18


Tout l'univers Proton (VPN, Mail, Drive...) pour 6,5 € par mois !

10:39

• 0


macOS 26.1 : quand le navigateur de fichiers se met à ramer…

10:00

• 61


Sortie de veille : un nouveau MacBook autour de 700 €, trop beau pour être vrai ?

08:00

• 17


Promo : le Mac mini M4 repasse sous les 600 € 🆕

06:59

• 28


Nvidia : si l'Occident ne réagit pas, la Chine va gagner la course à l’IA selon son patron

07/11/2025 à 22:30

• 75


Un clavier Cherry pour Mac en promotion, à seulement 40 €

07/11/2025 à 21:35

• 8


Mozilla dévoile Kit, la nouvelle mascotte de Firefox 🦊

07/11/2025 à 17:45

• 22


Handy : l’app qui transcrit votre voix en texte partout sur macOS

07/11/2025 à 17:08

• 17


Le Terminal de macOS adopte une touche de Liquid Glass avec Tahoe

07/11/2025 à 14:51

• 16


Écrans externes : de bonnes affaires à saisir chez BenQ, Asus et LG

07/11/2025 à 12:33

• 7


Tesla aimerait produire ses puces IA dans une Terrafab, en partenariat avec Intel

07/11/2025 à 12:05

• 26


Proton VPN active le split tunneling sur Mac

07/11/2025 à 10:28

• 12


Swift Student Challenge : Apple donne rendez-vous aux jeunes développeurs en février

07/11/2025 à 09:36

• 1


IKEA officialise l’arrivée de sa nouvelle gamme de produits connectés via Matter et Thread

07/11/2025 à 09:35

• 64


Merci Patron ! Tesla adoube Musk avec un bonus à 1 000 milliards de dollars

07/11/2025 à 07:30

• 156