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

Apple a creusé l’idée de proposer des services de cloud computing aux développeurs pour concurrencer AWS

03/07/2025 à 21:45

• 17


Apple sort des fonds d’écran aux couleurs de son nouvel Apple Store à Osaka

03/07/2025 à 21:00

• 4


Test du ViewSonic ColorPro VP2788-5K : 27″, 5K et DCI-P3 pour le prix d’un demi-Studio Display

03/07/2025 à 20:30

• 8


Guerre commerciale : les produits fabriqués au Vietnam voient leur taxe multipliée par cinq

03/07/2025 à 20:20

• 13


Microsoft Office 2021 pour Mac à 49,99 € : une aubaine à ne pas rater pendant les soldes d’été 📍

03/07/2025 à 20:07

• 0


L’iPhone 17 Pro Max pourrait avoir une grosse batterie de 5 000 mAh

03/07/2025 à 19:50

• 30


Une extension Chrome et Firefox désactive le doublage par IA de YouTube

03/07/2025 à 17:14

• 17


Le générateur de vidéos Veo 3 est désormais disponible en France dans l’application Gemini

03/07/2025 à 16:00

• 1


Starlink pourrait amener un Wi-Fi plus rapide et plus fiable dans les TGV

03/07/2025 à 15:39

• 34


Les identifiants d’une quinzaine de futurs Mac en fuite

03/07/2025 à 15:15

• 19


L'utilitaire pour faire tourner des LLM en local Ollama devient une application native

03/07/2025 à 14:27

• 25


Apple rejoint discrètement Threads, le dernier réseau social de Meta

03/07/2025 à 13:30

• 5


NimDoor : des hackers nord-coréens ciblent des entreprises de crypto via le Mac

03/07/2025 à 11:57

• 7


Synology fait encore plus fort qu’Apple sur les prix des SSD

03/07/2025 à 10:46

• 60


Flitedeck : un CarPlay Ultra mais pour les vélos de route

03/07/2025 à 09:30

• 18


Promo : un switch Ethernet compact à moins de 15 €

03/07/2025 à 08:34

• 6