除非 protocol被声明为 @objc,否则 weak引用在 Swift 中似乎不起作用,我不希望在一个纯 Swift 应用程序中使用 @objc。
这段代码提供了一个编译错误(weak不能应用于非类类型 MyClassDelegate) :
class MyClass {
weak var delegate: MyClassDelegate?
}
protocol MyClassDelegate {
}
我需要给协议加上 @objc的前缀,然后它就可以工作了。
问: 完成 weak delegate的“纯”Swift 方法是什么?