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

Orion, le navigateur WebKit de Kagi passe en version 1.0 sur Mac

07:00

• 0


Microsoft casse une des solutions qui permettait d'activer Windows sans payer

25/11/2025 à 22:12

• 18


Black Friday présence : le FP2 d’Aqara à 58 € et d’autres produits en promotion

25/11/2025 à 20:50

• 10


Meilleur antivirus Mac 2026 : Intego casse les prix sur sa suite Premium Bundle X9 pour le Black Friday 📍

25/11/2025 à 19:11

• 0


Après les Crocs Windows XP, voici les Crocs Xbox, pour les vingt ans de la Xbox 360

25/11/2025 à 18:30

• 7


Black Friday : il y a peu de promotions sur le stockage… et pourtant c'est probablement le moment d'acheter

25/11/2025 à 17:15

• 7


Il y a forcément un écran qui vous correspond : les meilleures offres BenQ du Black Friday 📍

25/11/2025 à 16:55

• 0


Amazon annonce que Leo (ex Kuiper), son concurrent de Starlink, va atteindre 1 Gb/s

25/11/2025 à 16:15

• 10


Black Friday : des promotions sur les stations d'accueil et hub pour Mac mini M4 (dont une en forme de Mac Pro)

25/11/2025 à 15:15

• 10


Black Friday : Ubiquiti réduit le prix de plusieurs produits et offre les frais de port

25/11/2025 à 12:52

• 7


Apple a supprimé la série Traqués (The Hunt) car ce serait un plagiat 🆕

25/11/2025 à 12:50

• 106


Les PC ARM posent autant de soucis à Linux que les Mac Apple Silicon

25/11/2025 à 11:40

• 47


Imagen, le logiciel d'édition photo par IA, offre 50% de réduction sur TOUT pour le Black Friday 📍

25/11/2025 à 10:06

• 0


Black Friday : nos bons plans pour améliorer son bureau sans se ruiner

25/11/2025 à 09:15

• 6


Médicaments : vers la fin des notices papier au profit du QR code ?

25/11/2025 à 08:35

• 64


Tim Cook va-t-il vraiment partir ? Le Financial Times et Gurman s’opposent

25/11/2025 à 07:45

• 20