您的位置:首页 > 移动开发 > Swift

Swift3.0中代理的使用方法

2016-03-10 22:43 399 查看
Swift3.0 中代理的使用方法

一,在视图界面

1.制定协议(不写NSObjectProtocol暂时不会报错,但是写属性是无法写weak)

protocol DelegateName:NSObjectProtocol {

    //设置协议方法

    func method()

}

//在swift中,制定协议需要遵守NSObjectProtocol协议,除了类可以遵守协议,结构体也可以遵守协议

//在OC中我们制定协议,通常继承自NSObject,可以这样理解,所有继承自NSObject的对象都可以实现协议方法(同样我们也可以指定哪些对象可以实现我们制定的协议方法)

2.用weak定义代理

weak var delegate:DelegateName?

3.判断代理是否存在,让代理去执行方法

func clickButton() {
    //'?'代替了responsed

    delegate?.method()

}

二,在控制器界面

1.遵守协议

class ViewController:UIViewController,DelegateName { //遵守协议

2.设置代理为self

customView?.delegate = self

3.实现协议方法

func method() {

    print(#function)

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息