• 协议可选方法 swift


    @optional@required 是 Objective-C 中特有的关键字。
    Swift中,默认所有方法在协议中都是必须实现的。而且,协议里方法不可以直接定义 optional。先给出两种解决方案:

    • 在协议和方法前都加上 @objc 关键字,然后再在方法前加上 optional 关键字。该方法实际上是把协议转化为Objective-C的方式然后进行可选定义。示例如下
    @objc protocol SomeProtocol {
      func requiredFunc()
      @objc optional func optionalFunc()
    }
    • 用扩展(extension)来规定可选方法。Swift中,协议扩展(protocol extension)可以定义部分方法的默认实现,这样这些方法在实际调用中就是可选实现的了。示例如下:

    protocol SomeProtocol {
      func requiredFunc()
      func optionalFunc()
    }
    extension SomeProtocol {
      func optionalFunc() {
        print(“Dumb Implementation”)
      }
    }
    Class SomeClass: SomeProtocol {
      func requiredFunc() {
        print(“Only need to implement the required”)
      }
    }
  • 相关阅读:
    一个木马
    Java使用Aspose将EXCEL转为PDF文档
    Java将WORD文档转HTML
    Kubernetes部署应用到集群中
    安装Kubernetes集群
    Kubernetes(K8S)简介
    python实用库记录
    GRPC
    consul
    1:RPC是什么
  • 原文地址:https://www.cnblogs.com/huangzs/p/16649759.html
Copyright © 2020-2023  润新知