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

Quand le Mac (re)devient le laboratoire du logiciel moderne

09:27

• 4


Apple Vision Pro M5 : un casque plus confortable, mais toujours trop cher et trop lourd

06:34

• 19


Revue de tests du MacBook Pro M5 : une évolution convaincante qui souffre du manque de Wi-Fi 7

21/10/2025 à 22:13

• 21


Atlas, le navigateur d'OpenAI qui intègre ChatGPT, arrive en exclusivité sur Mac

21/10/2025 à 21:28

• 53


iPad Pro M5 : quel adaptateur secteur pour la recharge rapide ?

21/10/2025 à 19:07

• 30


OpenAI annonce son navigateur web dopé à ChatGPT qui sera présenté dès ce soir

21/10/2025 à 17:57

• 23


Claude Code n’est plus limité au terminal de votre ordinateur, il peut fonctionner depuis le web

21/10/2025 à 16:50

• 9


Raccourcis de Waze : en Suisse, une commune fait payer les conducteurs qui ne font que traverser

21/10/2025 à 16:39

• 65


OVHcloud Summit 2025 : façonnons le futur de la tech ensemble !

21/10/2025 à 14:19

• 0


Cet ordinateur portable de 14 pouces de Fujitsu est deux fois plus léger que le MacBook Air

21/10/2025 à 14:06

• 27


macOS Tahoe : un bug empêche Touch ID de répondre au doigt et à l’œil

21/10/2025 à 11:35

• 36


Free lance Free TV, une offre de télé gratuite disponible pour tous

21/10/2025 à 11:04

• 132


Promotion : un bureau assis-debout motorisé à 110 € au lieu de 145

21/10/2025 à 11:01

• 13


Ouf de soulagement : la chiffonnette d'Apple est bien compatible avec les nouveaux Mac et iPad !

21/10/2025 à 08:19

• 31


Windows 11 choisit le pire moment pour se planter

21/10/2025 à 07:30

• 107


Quand l’iPhone va, tout va : Apple retrouve des sommets en bourse

21/10/2025 à 06:19

• 34