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

Kernel Panic : que valent les premières bêtas d’iOS et macOS 26 ?

17:00

• 5


Polysoft va bientôt proposer un kit pour augmenter la mémoire des Mac Studio M3/M4

16:44

• 2


Refurb : jusqu'à -370 € sur l'Apple Studio Display 5K

16:28

• 1


Free propose un an de fibre optique à 19,99 € par mois avec la Freebox Revolution Light

11:59

• 32


Produits Apple : vers une baisse de prix à la rentrée grâce à la faiblesse du dollar ?

11:38

• 26


Apple Store : le crédit à 0 % prolongé cet été

10:14

• 26


Stockage cloud : l’offre pCloud Lifetime avec 70 % de remise jusqu’au 15 juillet 📍

08:08

• 0


Apple fait une nouvelle mise à jour de son antimalware XProtect

01/07/2025 à 22:13

• 10


L'absence de ventilateurs de certains Mac portable peut les protéger des malwares

01/07/2025 à 19:30

• 17


Mactracker 8 synchronise votre collection de produits Apple sur tous vos Mac

01/07/2025 à 17:44

• 8


Passez à CarPlay sans fil pour moins de 20 €

01/07/2025 à 16:53

• 42


De très nombreuses failles dangereuses dans les imprimantes de Brother (et quelques autres)

01/07/2025 à 15:24

• 7


Bon plan Wi-Fi : l’Eero 6 (3 modules) à 130 € seulement

01/07/2025 à 13:30

• 20


Apple détaille des fonctions d'iOS et macOS 26 qui n'arriveront pas en Europe

01/07/2025 à 11:57

• 119


Proton se joint à une plainte contre Apple pour pratiques anticoncurrentielles

01/07/2025 à 11:10

• 59


États-Unis : Apple n’échappera pas au procès pour abus de position dominante

01/07/2025 à 09:55

• 41