Comment déclarer des méthodes optionnelles dans les protocoles Swift ?
Bonjour à tous ! Je suis nouveau en Swift et j'essaie de comprendre les protocoles. J'ai un protocole `MyDelegate` qui contient plusieurs méthodes. Je veux que certaines de ces méthodes soient optionnelles à implémenter — c'est-à-dire que la classe qui se conforme au protocole peut ne pas les implémenter si elles ne sont pas nécessaires.
En Objective-C, j'utilisais simplement `@optional`, mais en Swift cela ne fonctionne pas. Par exemple, j'ai ce code :
```swift
protocol MyDelegate {
func didStartTask()
func didFinishTask()
func didFailWithError(error: Error) // Je veux rendre cette méthode optionnelle
}
```
Quand j'essaie d'écrire `@optional` avant la méthode, le compilateur se plaint : "Optional requirements are only supported in @objc protocols". Je ne veux pas utiliser `@objc`, car ma classe n'hérite pas de NSObject.
Comment déclarer correctement des méthodes optionnelles dans un protocole Swift, sans dépendre du runtime Objective-C ? Existe-t-il une manière Swift de rendre une méthode optionnelle ? Ou faut-il utiliser autre chose ?
No answers yet.
Connectez-vous pour laisser une réponse