// associatedtype 关键字 用来声明一个类型的占位符作为协议定义的一部分

protocol LXFViewModelType {

associatedtype Input

associatedtype Output

func transform(input: Input) -> Output

}

/*

定义协议时候,协议后面最好跟上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{

}

最新文章

  1. 编译器开发系列--Ocelot语言4.类型定义的检查
  2. spi子系统之驱动SSD1306 OLED
  3. IDEA中maven搭建Spring+SpringMVC+mybatis项目
  4. Day12-mysql&&redis
  5. SSRS 2008 ReportServerTempDB增长异常分析
  6. 关于ES3、ES5、ES6以及ES7所有数组的方法(api)的总结
  7. Redis教程(十五):C语言连接操作代码实例
  8. topcoder SRM 619 DIV2 GoodCompanyDivTwo
  9. 【题解】【区间】【二分查找】【Leetcode】Insert Interval & Merge Intervals
  10. Golang学习 - strings 包
  11. APUE学习笔记-一些准备
  12. android 46 service
  13. Intel为什么做不好手机CPU?
  14. 将ROS中的/sensor_msgs/NavSatFix数据导入google earth显示轨迹
  15. hdu 1394 线段树
  16. Android异步消息传递机制源码分析
  17. 配置firewalld端口转发
  18. 奇淫怪巧之在Delphi中调用不申明函数
  19. Entity Framework学习 - 5.DB First执行时提示model没有key
  20. 查看是否存在tomcat进程和关闭方法

热门文章

  1. Windows XP 常用DOS命令
  2. The Google File System中文版
  3. /dev设备文件命名或符号链接建立
  4. 解决 /actuator/beans不能访问
  5. ADV-299 宰羊 (java,过了30%)
  6. 一、java基础-数据类型_数据类型转化_字符编码_转义字符
  7. container-coding-codec
  8. 【Android】在程序中使用触力反馈
  9. Day2-G-Sticks-POJ1011
  10. app开屏广告