weak
引用似乎在 Swift 中不起作用,除非 aprotocol
被声明为@objc
,这是我在纯 Swift 应用程序中不想要的。
此代码给出编译错误(weak
不能应用于非类类型MyClassDelegate
):
class MyClass {
weak var delegate: MyClassDelegate?
}
protocol MyClassDelegate {
}
我需要在协议前面加上@objc
,然后它才能工作。
问题:完成 a 的“纯”Swift 方法是weak
delegate
什么?