在swift中定义一个protocol相比objective-c来说,要更加简单,我们只需要通过一下方法就可以定义一个protocol:
定义不包含optional方法的protocol
protocol XXXXXXDelegate : NSObjectProtocol {
func XXXXXXX()//代理方法
}
在swift中,说有的Protocol都是继承自NSObjectProtocol,然后定义一个delegate的属性
weak var delegate:XXXXXXDelegate?
定义属性的时候,与在Objective-C中相同,都是使用weak关键字来防止循环引用
触发代理方法(在swift中简化了代理的调用方法,不过还是可以通过原来Objective-C调用方法来调用)
//方法1
delegate?.XXXXXXDelegate()
//方法2
if delegate != nil {