当先锋百科网

首页 1 2 3 4 5 6 7

在使用代理时, 一定要注意循环引用的问题.

1. 定义一个代理, 在代理中添加方法

protocol TestDelegate: NSObjectProtocol{
    func testDidWork()
}

在代理中, 注意要继承NSObjectProtocol, 否者在类中声明改代理是回出现问题:  weak cannot be applied to non-class type ...

2. 定义一个类, 指定代理类型

class Test {
    weak var delegate:TestDelegate?
}

在声明类的代理中注意使用weak, 否者可能会出现循环引用问题