Créez une app avec Swift Playgrounds #2 : création des réglages

Florent Morin |

Suite de notre série où nous créons ensemble une petite app en Swift en utilisant un iPad et l’app Swift Playgrounds. Si vous avez raté le chapitre précédent, vous pouvez le consulter à cette adresse pour préparer correctement le projet :

Créez une app avec Swift Playgrounds #1 : préparation du projet

Créez une app avec Swift Playgrounds #1 : préparation du projet

Dans ce nouveau chapitre, nous allons créer les réglages de l’application. L’objectif est de nous familiariser avec la création de nouveaux fichiers et de nouvelles vues. Nous allons également utiliser quelques mécanismes propres à SwiftUI.

La partie réglages de l'app.

Pour démarrer cette nouvelle avec un bon point de départ, vous pouvez vous appuyer sur le code disponible en ligne qui correspond au résultat à la fin du chapitre 1. Le code source de ce nouveau chapitre est également intégralement disponible à cette adresse.

avatar macbook60 | 

Merci

avatar Florent Morin | 

@macbook60

Avec plaisir 😉

avatar macbook60 | 

@FloMo

👍🏽
Un livre 📖 pourrait bien marcher peut-être….

avatar Chtimi92 | 

@macbook60

+1 je suis preneur également

avatar MegaWatt48 | 

@macbook60

+1 c’est une idée géniale

avatar macbook60 | 

@MegaWatt48

Demandons à l’équipe macg

avatar SebChan | 

Super intéressant et instructif, merci beaucoup !

avatar DerFrancois | 

Super, merci pour ce tutoriel. J'aime bien la séparation du modèle et des vues vraiment morcelées. Je suis curieux de voir s'il y aura une classe pour manipuler les données dans le prochain numéro.

avatar Seb42 | 

Super c’est génial a suivre pas à pas.
Étant néophyte, que change @Binding à la place de @State.
J’ai bien remarqué l’erreur dans le preview si on ne remplace pas mais je n’ai pas l’explication.

avatar Florent Morin | 

@Seb42

@Binding est conçu pour gérer l’état d’une propriété depuis l’extérieur du composant (la vue). Cette propriété est donc initialisée ailleurs.
D’où la nécessité de l’initialiser dans l’aperçu.

@State le fait à l’intérieur du composant. L’initialisation est réalisée par le composant en lui-même à sa création.

avatar Seb42 | 

@FloMo

Merci pour l’explication c’est clair 😉

avatar koko256 | 

Je trouve que
set: { newValue in
// Transforme le `Double` en `Int`
value = Int(newValue)
}
est plus joli que
set: {
// Transforme le `Double` en `Int`
value = Int($0)
}

Le $0 cela fait vraiment vieux langage moche 😀

avatar Florent Morin | 

@koko256

Ha ça, c’est une question de goût.

Sachant que la version d’origine ressemblait à ceci :

.init(
get: { Double(value) },
set: { value = Int($0) }
)

avatar koko256 | 

Merci pour ce tuto. Je ne connaissais pas les preview et ça simplifie bien le déboggage !

avatar _Bluetooth | 

merci bcq MacGe, je mets mes enfants dessus pendant les congés !!! 😁

avatar iFox7 | 

Merci beaucoup ! Très intéressant et bien expliqué.

avatar lolodeville | 

Encore encore… bravo

avatar Simoning | 

@FloMo
Salut Florent, comment se fait-il que lorsqu’on remplace value par valueProxy, on n’ait plus besoin d’utiliser le $ ?

avatar Florent Morin | 

@Simoning

Le `$ˋ est là pour dire que c’est un ˋBinding`. Donc inutile ici car déjà précisé.

avatar Simoning | 

@FloMo

Merci !

avatar tuffeha | 

Bonjour je n’arrive plus a trouver le site pour créer le logo pouvez vous me le redire… Merci

CONNEXION UTILISATEUR