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

John Giannandrea, responsable de l'IA, va quitter Apple et être remplacé par un spécialiste issu de chez Microsoft

01/12/2025 à 23:47

• 5


SMIC, un fondeur chinois, annonce l'arrivée de puces en 5 nm

01/12/2025 à 22:15

• 7


Black Friday : le MacBook Air M4 dévisse à 819 €, le 15" à 1 089 € !

01/12/2025 à 19:44

• 24


Black Friday : les offres les plus populaires

01/12/2025 à 19:08

• 18


Une extension Finder pour compresser en RAR grâce à la version Mac de WinRAR

01/12/2025 à 15:50

• 10


Vous avez un Mac ? L'offre CyberGhost à −83 % + 4 mois offerts s'envole pour le Cyber Monday 📍

01/12/2025 à 15:15

• 0


App Canal+ sur Apple TV : notre aperçu du tout nouveau lecteur vidéo en préparation, qui inclut le Picture in picture

01/12/2025 à 15:08

• 29


Black Friday : l’iPad Air M3 à partir de 500,5 € au lieu de 669, du jamais vu 🆕

01/12/2025 à 14:27

• 43


Un Raspberry Pi 5 avec 1 Go de RAM et de fortes hausses pour les autres versions pour contrer le prix de la RAM

01/12/2025 à 12:10

• 15


Cyber Monday : 75 % de moins sur l’année de CrossOver, pour jouer aux jeux Windows sur son Mac

01/12/2025 à 11:53

• 17


Protection totale pour votre Mac : antivirus + firewall + sauvegarde pour 29,99 €

01/12/2025 à 10:20

• 0


Freebox Ultra : un replay de « courte durée » ajouté pour la chaîne Canal+

01/12/2025 à 10:03

• 4


Flocons, guirlande : Snowy apporte la magie de Noël sur votre bureau 🆕

01/12/2025 à 08:15

• 17


Fin de Windows 10 : Dell ne s’attend pas à un boom des ventes de PC

01/12/2025 à 08:00

• 21


ChatGPT se prépare à afficher des pubs pour financer ses milliards de dépenses

01/12/2025 à 07:00

• 58


Carte Vitale numérique : déjà 2,1 millions d’assurés, mais l’activation prend du retard

01/12/2025 à 06:36

• 42