weak
引用在Swift中似乎无法正常工作,除非声明一个@objc
的protocol
,但在纯Swift应用程序中我不想这样做。
这段代码会产生编译错误(weak
不能应用于非类类型MyClassDelegate
):
class MyClass {
weak var delegate: MyClassDelegate?
}
protocol MyClassDelegate {
}
我需要在协议前加上@objc
,然后它就可以工作了。
问题:如何用“纯”的 Swift 实现弱引用代理?