Swift中的delegate

2017-02-05  本文已影响66人  fordring2008

// delegate

// 当一个协议 没有任何的父协议时,说明它是可以被 struct, enum 实现的,声明一个实现了这个代理类型的实例时,就不能使用 weak。如果要使用 weak, 就需指定实现让这个协议的是 class ,让它实现  : class

// 另一种做法是,在将协议声明为 oc 类型的,在前面加 @objc 关键字。因为 OC 协议都只有类能实现,用weak 也就合理了

// 我们通常的做法是,新建协议的时候,让他实现  NSObjectProtocol

protocol MyClassDelegate: NSObjectProtocol {

func method()

}

class MyClass {

weak var delegate: MyClassDelegate?

}

上一篇下一篇

猜你喜欢

热点阅读