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

Les petits colis seront soumis aux droits de douane dès 2026

14/11/2025 à 20:30

• 70


Black Friday : le pack de deux caméras euFyCam 2C compatibles HomeKit de retour à 100 €

14/11/2025 à 18:38

• 9


L’iPhone Pocket est maintenant en vente à partir de 159 €, mais il n’y en aura pas pour tout le monde 🆕

14/11/2025 à 18:38

• 111


Design, support lombaire et prix choc : Doro C300 de Sihoo, la chaise ergonomique à ne pas manquer ce Black Friday 📍

14/11/2025 à 17:58

• 0


Striiiipes transforme le logo de l’app Cartes en porte-cartes en cuir

14/11/2025 à 16:37

• 21


Astuce macOS 26 : supprimer l’icône des apps des services cloud dans la barre latérale du Finder

14/11/2025 à 16:21

• 7


Prizmo Remix, le Raccourcis des scanners qui automatise le traitement des scans

14/11/2025 à 15:22

• 3


Promo : le Mac mini M4 de base sous les 600 € ou la version 512 Go pour 743 € 🆕

14/11/2025 à 12:17

• 42


La Chine veut limiter l’accélération par défaut des voitures électriques, sans les rendre lentes pour autant

14/11/2025 à 11:20

• 117


Le MacBook Air M2 est à son prix le plus bas sur Amazon, avec 16 Go de RAM 🆕

14/11/2025 à 11:10

• 57


OpenAI ouvre la porte aux conversations de groupe avec ChatGPT

14/11/2025 à 09:50

• 6


Pourquoi Apple prépare un MacBook « low-cost » pour 2026

14/11/2025 à 09:38

• 19


Football : Apple contrainte de revoir son offre MLS… en attendant la Ligue des champions ?

14/11/2025 à 08:08

• 11


macOS 26.2 disponible en bêta publique avec Edge Light

14/11/2025 à 06:34

• 8


Tesla testerait l’intégration de CarPlay sur ses véhicules

13/11/2025 à 21:00

• 141


Pour les retardataires : le magazine des 25 ans de MacG et son mug sont à nouveau en vente !

13/11/2025 à 20:33

• 63