/*

定义协议时候,协议后面最好跟上class

delegate的属性最好用weak,用于防止循环引用

*/

protocol BuyTicketDelegate : class{

func buyTicket()

}

class Person22{

weak var delegate:BuyTicketDelegate?

func gotoBeiJing() {

delegate?.buyTicket()

}

}

/*

定义可选类型的协议

optional属于OC特性,如果协议中油可选的方法,那么必须在protocol前面加上@objc,也需要在optional前面加上@objc

*/

@objc protocol TestProtocol{

@objc optional func test()

}

class Dog:TestProtocol{

}

转载于:https://www.cnblogs.com/dhui69/p/11160074.html

Swift 协议protocol相关推荐

  1. Swift之深入解析协议Protocol的底层原理

    一.Swift 协议 ① 概念 协议规定了用来实现某一特定功能所必需的方法和属性. 任意能够满足协议要求的类型被称为遵循(conform)这个协议. 类,结构体或枚举类型都可以遵循协议,并提供具体实现 ...

  2. 6.Swift协议|扩展|访问权限|异常调试|类型转换|运算函数|ARC|类类型初试化器|值类型初始化器...

    1. 协议(Protocol):与OC之间唯一不同的是Swift中的协议不管是属性还时方法全部是必须实现的 /** protocol*/ protocol FullNamed { /** 计算属性申明 ...

  3. Swift ——协议

    Swift --协议 1. 协议与继承 2. 协议的基本语法 3. 协议原理探究 4. 写时复制 1. 协议与继承 为两个类创建一个 debug 函数来打印当前类的基本信息.从继承的⻆度来说,我们可能 ...

  4. Swift协议与扩展

    转载:http://www.jianshu.com/p/e70bd6645d88 前言 熟悉Objective-C语言的同学们肯定对协议都不陌生,在Swift中苹果将protocol这种语法发扬的更加 ...

  5. Objective-C 入门(七)协议 protocol(JAVA中的接口)

    Objective-C 入门(七)协议 protocol(JAVA中的接口) 接口的作用想必大家都比较了解 OV中的 protocol 相比接口作用相似 语法稍有不同 1.先来看声明一个协议 在创建文 ...

  6. iOS进阶之协议Protocol(13)

    协议Protocol 协议Protocol 转载:https://www.jianshu.com/p/5178630d0fd1

  7. 协议(Protocol)与委托代理(Delegate)

    协议(Protocol)的作用: 1. 规范接口,用来定义一套公用的接口: 2. 约束或筛选对象. 代理(Delegate): 它本身是一种设计模式,委托一个对象<遵守协议>去做某件事情, ...

  8. 【Swift学习笔记00】——enumeration枚举类型遵循协议protocol

    Apple官方文档:The Swift Programming Language Protocols and Extensions一节的小节练习,要求自行定义一个enumeration枚举类型,并且遵 ...

  9. swift:使用协议protocol设置颜色,UIImage的切圆角ImageWithCornerRadius

    //使用协议 方便以后切换颜色配置文件.或者做主题配色之类乱七八糟产品经理最爱的功能 protocol V2EXColorProtocol{ var v2_backgroundColor: UICol ...

最新文章

  1. [SDOI2009]HH的项链
  2. Kubernetes 落地案例|使用 Kubernetes 重新部署全球最大的教育公司
  3. 基于Visual Studio2010讲解C#4.0语法(5)--使用CollectionClasses
  4. jquery中文参考文档
  5. Github代码上传和下载
  6. 《系统集成项目管理工程师》必背100个知识点-96我国企业信息化发展的战略要点...
  7. c语言中 快速输出字符数组后几位方法
  8. c++初学者如何学好基础?
  9. Android绑定服务后出现空指针异常问题
  10. 021-PHP常用的数值类型判断函数
  11. mysql显示表已存在_「Docker系列」 如何在Docker中部署MySQL数据库?
  12. C#调用C++编写的dll库
  13. 找不到redis得pid文件_Pads 误删宏文件,打开后弹框报错找不到路径
  14. 两角和与差的余弦公式的五种推导方法之对比
  15. 用xcode写java_xcode怎么写java
  16. window.requestAnimationFrame讲解
  17. Unity shader护盾特效
  18. oppo android多大内存,OPPO R15使用感受,大内存真的很有必要
  19. Java修炼——手写服务器项目
  20. android 日志打印内容完全相同,Log的chatty机制,identical 391 lines

热门文章

  1. Flink + Iceberg,腾讯百亿级实时数据入湖实战
  2. (零)音视频技术基础知识,现实项目
  3. Java面试题 Java如何进行高效的数组拷贝?【Arrays.copyOf()】
  4. SQL基础【十二、Like】
  5. MySQL数据库SYS CPU高的可能性分析
  6. RMAN备份filesperset用法
  7. 在虚拟机上为红帽7Linux设置中文输入法
  8. cmake 2.8.12在redhat 4.4下安装
  9. 小米oj 有多少个公差为2的等差数列
  10. 第八节:详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架