Swift2.0 代理的使用

引用 http://blog.csdn.net/code_worm/article/details/48005313

关键点

  • 必须使用weak标记delegate属性
  • 协议必须集成NSObjectProtocor

声明一个代理协议

//这里必须继承NSObjectProtocor,否则不能使用weak修饰代理属性
protocol changeColor:NSObjectProtocol {
    func changeColor(color color:UIColor)
}

声明代理属性

//必须使用weak修饰,否则将引起循环引用
weak var delegate:changeColor? 

调用代理方法

self.delegate?.changeColor(color: UIColor.blueColor())

给代理赋值

v2?.delegate = self

继承协议

class VC1: UIViewController,changeColor {

实现代理方法

func changeColor(color color: UIColor) {
    self.view.backgroundColor = color
}

你可能感兴趣的:(代理,swift,delegate)