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

Comment regarder les chaînes de télé sur l’Apple TV : toutes les apps et offres disponibles

31/08/2025 à 18:41

• 64


Ces articles du Club iGen passent en accès libre : découvrez nos contenus premium

31/08/2025 à 11:58

• 3


Le grand tapis de souris de Logitech en promo à 8 €

31/08/2025 à 08:34

• 0


« Digital detox » : le bilan de mes vacances (presque) sans iPhone

31/08/2025 à 08:00

• 30


Panne majeure en cours sur les moyens de paiement de nombreuses banques françaises

30/08/2025 à 20:17

• 93


« Le premier iPad protégé contre les liquides » : la déclaration d’Apple qui intrigue

30/08/2025 à 10:24

• 15


L’appel à la grève de la CB (et d’Apple Pay), un risque majeur pour les banques ?

30/08/2025 à 08:06

• 178


iOS 18.6.2 bouche une faille zéro day utilisant WhatsApp pour piéger les utilisateurs

30/08/2025 à 08:04

• 8


À contre-courant : pourquoi Florian n’abandonne pas WhatsApp

30/08/2025 à 08:00

• 78


Gemini lance un mode incognito, pour des conversations jetables

29/08/2025 à 21:00

• 12


my kSuite : une alternative gratuite, souveraine et suisse à Google et Microsoft (et à -80 % si besoin de plus) 📍

29/08/2025 à 20:07

• 0


Agenda, Path Finder, Unite… De bonnes apps Mac à prix cassé

29/08/2025 à 17:05

• 11


Fibre Power S : SFR baisse son offre triple-play à 26,99 €/mois

29/08/2025 à 16:22

• 15


Lenovo cogite sur un portable à écran paysage et portrait

29/08/2025 à 15:49

• 17


MacBook Air M4 en promo à partir de 949 € et 90 € en bons d'achat

29/08/2025 à 14:43

• 6


Guide d'achat : quels accessoires pour accompagner son nouvel iPad à la rentrée

29/08/2025 à 14:42

• 16