swift3.0 协议
来源:互联网 发布:淘宝罗家精品是真是假 编辑:程序博客网 时间:2024/06/05 08:25
//1. 协议的定义protocol SportProtocol{ //默认情况下,协议中的方法都是必须实现的方法 func playBasketball() func playFootball()}//2. 定义类,并且遵守协议class teacher : SportProtocol{ func playFootball() { print("踢足球") } func playBasketball() { print("打篮球") }}//3.LJStudent 继承自NSObject,然后遵守的是SportProtocol协议class LJStudent : NSObject,SportProtocol{ func playFootball() { print("踢足球") } func playBasketball() { print("打篮球") }}// 4.协议在代理设计模型中的使用/* 定义协议时,协议后面最好跟上:class ,表明这个协议只给类用(否则结构体,枚举类型也可以使用这个协议) delegate的属性最好用weak,用于防止产生循环引用 */protocol BuyTitcketDelegate: class{ func buyTitcket()}class myPersonClass{ //定义代理属性 weak var delegate:BuyTitcketDelegate? func goToBeijing() { //如果这里的delegate存在的话,才会去执行buyTitcket这个函数,否则就不执行buyTitcket这个函数了 delegate?.buyTitcket() }}//5. 如何让协议中的方法是可选方法// optional 属于OC 特性,如果协议中有可选的方法,那必须在proctocol前面加上@objc,也需要在optional前面加上@objc@objc protocol TestProtocol{ @objc optional func test()}class Dog : TestProtocol{ //这个方法可以执行,也可以不执行,就变成了可选类型了 func test() { }}
阅读全文
0 0
- swift3.0 协议
- swift3.0中的代理协议
- swift3 协议
- Swift3.0中文教程:22.协议
- Swift3.0- 协议(protocol)
- swift3 面向协议编程
- swift3.0 协议内方法声明为mutating
- Swift3.0
- swift3.0
- Swift3.0
- swift3.0 如何写一个类集使用的类方法协议
- swift3面向协议编程实现Alamofire封装
- swift3.0的改变
- Swift3.0学习
- Swift3.0 初识
- swift3.0 GCD
- swift3.0 gcd 变化
- swift3.0变化
- 空结构体与空指针的大小
- Python爬虫实践笔记(一)
- DevExPress控件 客户端常用方法
- Linux下的帧缓冲lcd应用编程及Framebuffer驱动程序模型
- servlet过滤器—filter
- swift3.0 协议
- Pivoting “long” to “wide” Format 将“长格式”旋转为“宽格式” 书中开头缺失的 ldata 变量之实现代码
- 【LeetCode】485 Max Consecutive Ones
- JVM类加载机制
- 字符串排序
- mysql 设计优化及性能调优
- 微积分2:导数
- scala的类与对象
- SpringMVC注解@RequestParam全面解析