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

Toutes les nouveautés d'iOS 26.2 bêta 3

08:34

• 2


Abidur Chowdhury : l’une des stars montantes du design quitte Apple

07:20

• 9


Siri perd l'exclusivité de son bouton au Japon avec iOS 26.2

07:04

• 29


La carte Vitale dématérialisée disponible partout en France, même sans France Identité

17/11/2025 à 22:00

• 85


Une troisième bêta pour iOS 26.2, macOS 26.2 et les autres

17/11/2025 à 22:00

• 32


Un fond d’écran exclusif pour fêter l’ouverture d’un nouvel Apple Store à Pékin

17/11/2025 à 21:24

• 2


Voici l'écran 5K que tout le monde s'arrache

17/11/2025 à 20:07

• 0


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

17/11/2025 à 19:44

• 67


Black Friday : des piles pour AirTags et des piles rechargeables en promotion

17/11/2025 à 17:47

• 22


Rumeur : l’Apple Watch pourrait patienter jusqu’en 2028 pour un nouveau design

17/11/2025 à 17:43

• 19


Sandisk Extreme Fit, une clé USB-C minuscule jusqu’à 1 To

17/11/2025 à 15:12

• 19


Enhance présente le S3XY Dash, un écran qui rétablit l’instrumentation derrière le volant des Model 3 et Y

17/11/2025 à 12:24

• 50


Anker commercialise une borne pour voitures électriques avec des fonctionnalités intéressantes

17/11/2025 à 10:44

• 24


Le stockage cloud à vie chez pCloud profite d'une réduction exceptionnelle 📍

17/11/2025 à 10:41

• 0


Où trouver un iPhone 17, 17 Pro et 17 Pro Max en stock ? 🆕

17/11/2025 à 10:41

• 203


Une boule de Noël connectée qui fait également enceinte !

17/11/2025 à 10:34

• 0