如何在Swift协议中声明可选方法?
你好!我开始学习Swift并尝试理解协议。我有一个`MyDelegate`协议,想用它来进行委托。我希望这个协议中的某些方法是可选的——也就是说,遵循该协议的类可以不实现它们。
以下是我的尝试:
```swift
protocol MyDelegate {
func requiredMethod()
optional func optionalMethod() // 错误:'optional'只能应用于@objc协议的成员
}
```
编译器报错了。我了解到在Objective-C中可以用`@optional`标记方法,但在Swift中不能直接这样用。我也尝试过使用协议扩展,但不确定是否正确。
我的目标是创建一个协议,其中一个方法是必需的(例如处理按钮点击),另一个是可选的(例如通知动画完成)。如何正确实现这样的结构?提前感谢你的帮助!