Avatar ·

如何在Swift协议中声明可选方法?

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