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

Pourquoi la France est-elle privée d’AI Overviews par Google ?

28/03/2025 à 21:15

• 10


Quand la reconnaissance faciale vous interdit l’entrée d’un concert pour un post sur les réseaux sociaux

28/03/2025 à 20:30

• 43


Apple, Meta : l’Union Européenne aurait prévu des amendes modestes pour limiter les tensions avec Donald Trump

28/03/2025 à 18:45

• 51


Faites le grand ménage de printemps sur votre Mac avec Mac Washing Machine X9 ! 📍

28/03/2025 à 18:10


Le Mac Studio 2025 est compatible avec le HDMI CEC

28/03/2025 à 17:17

• 4


macOS Sequoia empêche l'installation d'une ancienne version de macOS en externe

28/03/2025 à 12:45

• 23


iBoff a développé sa copie du SSD de Mac mini M4, vendue à un prix plus faible qu'Apple

28/03/2025 à 11:15

• 26


GPT-4o : OpenAI peine à suivre la demande pour son nouveau générateur d’images

28/03/2025 à 09:58

• 35


Final Cut Pro se met aussi à la page Image Playgrounds sur le Mac

28/03/2025 à 07:57

• 10


Test du BenQ MA270U : un écran 4K pensé pour le Mac

27/03/2025 à 23:30

• 16


Xhamster et Tukif toujours disponibles en France, protégés du gourdin français par la législation européenne

27/03/2025 à 21:45

• 56


Waymo : l’humain responsable dans quasi tous les cas d’accident avec une voiture autonome de la marque

27/03/2025 à 21:00

• 42


Une RC2 pour macOS 15.4 avec Apple Intelligence et les catégories dans Mail 🆕

27/03/2025 à 19:29

• 23


WhatsApp peut remplacer Téléphone et Messages dans iOS 18

27/03/2025 à 17:53

• 112


Bouygues est déjà dans l'après-ADSL en supprimant ses offres d'abonnement

27/03/2025 à 16:40

• 18


Quel gestionnaire de mots de passe utilisez-vous ?

27/03/2025 à 15:15

• 126