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