Swift3.0 中代理的使用方法
2017-03-14 11:12
323 查看
转载:http://blog.csdn.net/feng2qing/article/details/50850773
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)
}
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)
}
相关文章推荐
- Swift-代理方法的使用
- [绍棠_Swift] Swift3.0中代理的使用方法
- Swift - swift3.0中代理方法的使用
- JAVAWEB开发之Servlet3.0新特性的使用以及注解的详细使用和自定义注解的方法、动态代理的使用、利用动态代理实现细粒度的权限控制以及类加载和泛型反射
- swift代理的使用方法
- 使用动态代理记录方法执行的时间
- java使用代理访问网络的几种方法
- C# 3.0新特性初步研究 Part2:使用扩展方法_C#教程
- C# 3.0新特性初步研究 Part2:使用扩展方法_C#教程
- php使用fsockopen方法代理读取远程网页
- CCProxy 代理(共享)上网使用方法、使用说明
- 使用动态代理记录方法执行的时间
- 代理的基本使用方法
- c# 3.0新特性之使用扩展方法
- resin-pro-3.0 使用jpa找不到类方法问题
- lucene3.0中各检索方法的使用介绍
- Java中使用代理访问网络的几种方法
- .net 3.0+关于实现IEnumerable的类型的扩展方法的使用一
- Java程序开发中代理技术的使用方法
- 在.net 2.0/3.0程序中使用扩展方法