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

MacBook Air M2 : le modèle 16 Go à 729 €, (presque) son plus bas historique ! 🆕

20/12/2025 à 16:30

• 98


iPhone Fold : une fuite chez les accessoiristes donne une idée des dimensions, et le format pourrait être surprenant

20/12/2025 à 16:07

• 68


MacGeneration : le point sur la santé économique du site

20/12/2025 à 10:30

• 124


Quel pourrait être l'impact de la RAMpocalypse sur Apple ?

20/12/2025 à 09:00

• 38


Sortie de veille : que retenir des grosses fuites sur les projets secrets d’Apple ?

20/12/2025 à 08:00

• 1


Crucial écoule ses stocks de SSD Externe : 1 To dès 80 €, 2 To dès 133 €, 4 To dès 240 €

19/12/2025 à 23:55

• 27


Guide de Noël : les disques durs, le stockage à tarif doux

19/12/2025 à 22:45

• 29


OpenAI dévoile sa nouvelle politique concernant les mineurs, et spécifiquement les ados

19/12/2025 à 21:45

• 14


Un cluster de Mac Studio peut atteindre plusieurs To de RAM grâce au Thunderbolt 5

19/12/2025 à 18:00

• 16


Shein échappe à une suspension provisoire en France, le gouvernement va faire appel 🆕

19/12/2025 à 17:39

• 20


Dans les aéroports, les AirTags font chuter drastiquement le nombre de bagages définitivement perdus

19/12/2025 à 16:49

• 22


Bloom, un gestionnaire de fichiers alternatif pour les insatisfaits du Finder

19/12/2025 à 16:02

• 5


Ressuscitez vos clichés flous : Aiarty transforme vos photos grâce à l'intelligence artificielle (coupon exclusif, offre de Noël) 📍

19/12/2025 à 15:15

• 0


WD Passport pour Mac : un disque externe 5 To pour 130 € (-30 €)

19/12/2025 à 12:31

• 0


OpenAI lance la formule ChatGPT Go en France : 8 € par mois pour un usage plus généreux

19/12/2025 à 12:05

• 48


AirPods Pro 3 : les grésillements font de la résistance

19/12/2025 à 10:35

• 36