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, …

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é !

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Apple a invité des influenceurs du monde entier pour les 10 ans de l'Apple Watch

27/04/2025 à 22:18

• 70


Test d'un traqueur Bluetooth à moins de 4 € : est-il vraiment aussi bien qu'un AirTag ?

27/04/2025 à 22:18

• 19


Fin des remaniements internes, déplacement d’usines et projets de réalité augmentée : la semaine Apple

27/04/2025 à 20:30

• 24


Émulation : comment jouer à ses vieux jeux sur iPhone ou iPad ?

26/04/2025 à 10:49

• 9


Pour le producteur de La Maison, « Apple est la pire boîte marketing de l’univers »

26/04/2025 à 00:08

• 96


Upscaling vidéo et restauration photo plus rapides sur Mac/PC : VideoProc AI mis à jour est à - 62 % 📍

25/04/2025 à 17:44

• 0


Derniers jours Apple week à la Fnac : -10 % sur des MacBook Pro, iPhone 15 Pro à 16 Pro Max et iPad Pro M4

25/04/2025 à 16:00

• 7


dav1d, le décodeur AV1 le plus optimisé qu'Apple refuse d'utiliser

25/04/2025 à 14:00

• 6


Microsoft a conçu une publicité par IA et personne n’a rien vu

25/04/2025 à 13:45

• 33


Razer lance sa première souris ergonomique verticale face à Logitech

25/04/2025 à 12:15

• 14


Yahoo! veut acheter Chrome

25/04/2025 à 10:45

• 40


Slate veut repartir de zéro avec un pick-up électrique compact et épuré pour moins de 20 000 $

25/04/2025 à 10:00

• 114


iPadOS 19 verrait apparaître une barre de menus sur iPad

25/04/2025 à 09:24

• 48


Huit ans après DeX, Apple s’ouvrirait peu à peu à un bureau sur écran externe pour iOS 19

25/04/2025 à 09:23

• 55


John Giannandrea aurait aussi perdu l'équipe en charge de la robotique chez Apple

25/04/2025 à 07:39

• 16


Les procès antitrust contre les GAFAM se poursuivent aux USA, malgré les changements de présidence

24/04/2025 à 21:30

• 31