Swift : bloquer la mise à jour d'un champ avec willSet ?
Jérémy
Membre
Bonjour à tous,
Est il possible de bloquer la mise à jour d'un champ avec un willSet ? Par exemple :
var myPropertyValue: Int = 0
var myProperty: Int {
willSet {
if newValue < myPropertyValue {
// Alors je bloque
}
}
get {
return myPropertyValue
}
set {
myPropertyValue = newValue
}
}
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Non ça n'est pas possible normalement. Son objectif est juste d'informer quand la propriété va être modifié.
Il faudrait plutôt avoir quelque chose comme ça:
Non tu ne peux pas le faire comme ça. Par contre la solution n'est vraiment pas loin :
Juste un peu plus correct…
Je viens de me rendre compte que c'est plus la structure ci dessous qui intéresse mais ça ne change en rien le problème.
Pour ce que tu veux faire, tu ne peux pas utiliser willSet et didSet. Tu ne peux pas empêcher le "set" sauf si tu utilises ce que j'ai écrit.
willSet et didSet sont là seulement pour les notifications, pas pour la modification du fil d'exécution
Okay, merci bien !
Ne démarrons pas une guerre que nous ne pouvons terminer 😉
> Ne démarrons pas une guerre que nous ne pouvons terminer 😉
🐻⚔️ 🎀💣
Dommage, ce sont les débats "animés" qui sont les plus intéressants.