美文网首页
Swift中的协议

Swift中的协议

作者: 一个栗 | 来源:发表于2022-02-07 22:49 被阅读0次

协议的语法

  • 自定义类型声明时,将协议名放在类型名的冒号之后来表示该类型采纳一个特定的协议。多个协议可以用逗号分开列出。
  • 若一个类拥有父类,将这个父类名放在其采纳的协议名之前,并用逗号分隔。

属性要求

  • 协议可以要求所有遵循该协议的类型提供特定名字和类型的实例属性或类型属性。协议并不会具体说明属性是储存型属性还是计算型属性--它只具体要求属性有特定的名称和类型。协议同时要求一个属性必须明确是可读的或可写的可读的。
  • 若协议要求一个属性为可读和可写的,那么该属性要求不能用常量存储属性或只读计算属性来满足。若协议只要求属性为可读的,那么任何种类的属性都能满足这个要求,而且如果你的代码需要的话,该属性也可以是可写的。
  • 在协议中定义类型属性时在前面添加 static关键字。当类的实现使用 class 或 static 关键字前缀声明类型属性要求时,这个规则仍然适用。

方法要求

mutating 方法

  • 若你定义了一个协议的实例方法需求,想要异变任何采用了该协议的类型实例,只需在协议里方法的定义当中使用 mutating 关键字。这允许结构体和枚举类型能采用相应协议并满足方法要求。

初始化器要求的类实现

将协议作为类型

协议继承

类专用的协议

协议组合

可选协议要求

相关文章

  • Swift及SwiftUI学习笔记

    持续更新中...... swift官方文档 swift官方文档(英文) 协议 swift主要基于协议编程的,所以协...

  • Swift 命名空间形式扩展的理解和问题探讨

    先从 Swift 协议扩展的语法说起 注:协议扩展 Protocol extension: Swift 1.x 中...

  • Swift学习笔记-协议

    Swift中的协议类似于Java中的接口,不过在Swift中,结构体,枚举,类都能使用协议 基本用法 符合多个协议...

  • Swift - 协议(protocol)

    Swift - 协议(protocol) 1、Swift中协议类似于别的语言里的接口,协议里只做方法的声明,包括方...

  • 协议(三)

    标准库中的协议 Swift标准库广泛使用的协议可能会让你感到惊讶。理解协议在Swift中扮演的角色可以帮助您编写干...

  • Swift语言总结

    Swift学习总结 协议 协议是方法的集合,它可以把看似不想关的对象的公共行为放到一个协议中。协议在Swift开发...

  • 【Tips】Swift Protocol

    前言 本文是笔者学习Swift协议的笔记。 开始 OC中判断是否遵守某个协议有对应的方法,Swift中也有,但是开...

  • swift方法参数遵守多继承和遵守多个协议

    参数继承协议 OC中 id Swift 3 protocol Swift 4 A & B 文档

  • OC和Swift比较

    OC与swift 1.协议 OC:主要用来传值 swift:不仅可以用来传值,swift中的协议可以定义属性方法,...

  • Swift 5.1 (20) - 协议

    Swift 5.1 (20) - 协议Swift 5.1 (20) - 协议

网友评论

      本文标题:Swift中的协议

      本文链接:https://www.haomeiwen.com/subject/tvribltx.html