swift 协议用法归纳

swift 协议用法归纳

  1. 协议中可以定义方法、属性以及下标的声明
  2. 协议可以被类、结构体、枚举遵守,且可同时遵守多个协议
  3. 协议中的方法参数不能有默认值
  4. 协议中定义属性时必须是var定义,必须有get关键字,set关键字非必须
var l: Int {
   get} //只读
var s: Int {
   get set} //读写
  1. 结构体中遵守的协议方法的方法体重如果要修改结构体某一属性的值,那协议中的对应方法必须用mutating关键字修饰。类不用;枚举未进行测试
  2. 协议中定义的初始化方法,类遵守时初始化方法前必须加require关键字(如果这个初始化方法正好重写了父类的还要额外加上override关键字)。结构体遵守的协议中不能有初始化方法(原因可能是系统在为自定义初始化方法时系统会默认添加两个初始化方法)。枚举编译会报错
    注:如果类被final修饰了可以不用require关键字
protocol P {
   
  func p(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值