Como declarar métodos opcionais em protocolos Swift?
Olá a todos! Sou novo em Swift e estou tentando entender os protocolos. Tenho um protocolo `MyDelegate` que contém vários métodos. Quero que alguns desses métodos sejam opcionais para implementação — ou seja, a classe que adota o protocolo pode não implementá-los se não forem necessários.
Em Objective-C, eu simplesmente usava `@optional`, mas em Swift isso não funciona. Por exemplo, tenho este código:
```swift
protocol MyDelegate {
func didStartTask()
func didFinishTask()
func didFailWithError(error: Error) // Quero tornar este método opcional
}
```
Quando tento escrever `@optional` antes do método, o compilador reclama: "Optional requirements are only supported in @objc protocols". Não quero usar `@objc`, porque minha classe não herda de NSObject.
Como declarar corretamente métodos opcionais em um protocolo Swift sem depender do runtime do Objective-C? Existe alguma maneira Swift de tornar um método opcional? Ou preciso...