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)
}
一,在视图界面
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)
}
相关文章推荐
- Apple Swift学习教程
- 介绍 Fedora 上的 Swift
- 依附品牌做代理 把握创业新机遇
- 代理区独立模式的说明
- c#窗体传值用法实例详解
- C#简单实现子窗体向父窗体传值的方法
- ASP.NET页面间的传值的几种方法
- 关于C语言中参数的传值问题
- http代理相关知识分析
- 为MySQL安装配置代理工具Kingshard的基本教程
- C# Winform窗口之间传值的多种方法浅析
- php下通过POST还是GET来传值
- JS中Iframe之间传值的方法
- JavaScript实现同一页面内两个表单互相传值的方法
- asp.net 页面间传值方法小结
- JavaScript的事件代理和委托实例分析
- ASP.NET页面传递值的方式介绍
- Servlet与JSP间的两种传值情况