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

iOS 26.2 disponible en version finale : toutes les nouveautés de cette mise à jour pas si anodine

12/12/2025 à 21:38

• 35


watchOS 26.2 est disponible avec un score de sommeil qui n’est plus dans la lune

12/12/2025 à 21:38

• 10


macOS 26.2 disponible pour tous : découvrez les nouveautés lumineuses de cette mise à jour

12/12/2025 à 19:35

• 9


iPhone, Mac : Le VPN premium à petit prix que tout le monde s'arrache avant Noël (parfait si vous avez raté le Black Friday) 📍

12/12/2025 à 16:33

• 0


Orange, Bouygues Telecom et SFR s'allient pour éviter les débranchements sauvages de fibres optiques

12/12/2025 à 16:00

• 27


Fin de l’exception douanière en Europe : les petits colis taxés 3 € dès juillet 2026

12/12/2025 à 15:30

• 48


Promos : les caméras de surveillance reviennent à leur prix du Black Friday

12/12/2025 à 15:20

• 15


HomePad : Face ID et profils, le hub domotique d’Apple se dévoile

12/12/2025 à 12:30

• 19


Avec le code XMAS40, le MacBook Air M1 16 Go passe à 589 € !

12/12/2025 à 11:27

• 0


La Fnac offre à ses adhérents des bons d’achat sur tous les produits Apple, même en promotion

12/12/2025 à 10:57

• 24


Free TV ne fonctionne pas toujours avec Starlink

12/12/2025 à 10:55

• 20


BuhoLaunchpad reproduit fidèlement l’ancien Launchpad de macOS, pour les amateurs

12/12/2025 à 09:36

• 30


Déstockage de bracelets Apple à partir de 15 € !

12/12/2025 à 09:32

• 24


NordVPN veut nettoyer vos courriels des liens malveillants

12/12/2025 à 08:39

• 12


Le Time célèbre les bâtisseurs de l’IA, Apple absente de la photo

12/12/2025 à 07:30

• 107


GPT-5.2, partenariat avec Disney : OpenAI fait feu de tout bois pour insister sur sa supériorité

11/12/2025 à 20:45

• 32