gpt4 book ai didi

swift - 在 Swift 中遵守空协议(protocol)有什么意义

转载 作者:行者123 更新时间:2023-12-03 08:48:21 26 4
gpt4 key购买 nike

我正在开发一个代码库,其中大多数类都符合空协议(protocol)。这样做有什么意义吗?实际上遵守该协议(protocol)没有任何作用。

编辑作为对 @vacawama 有用评论的 react :该协议(protocol)仅使用一次

import Foundation

protocol myUrlRequestConfig {}

extension myUrlRequest: myUrlRequestConfig {
public static func configGetAppConfig() -> URLRequest {
let request = ....
return request
}
}

最佳答案

如果您想创建一种简单的方法来将静态函数或变量添加到多个不同的类,那么空协议(protocol)可能会很有用。当然,只有当符合协议(protocol)的所有类的静态功能都相同时,这才有意义。

这是一个例子:我有一个相当大的协议(protocol)。每个符合 Sizeable 的类都使用静态变量 stride 和 size 进行扩展。

protocol Sizeable { }

extension Sizeable {
static var size: Int {
return MemoryLayout<Self>.size
}

static var stride: Int {
return MemoryLayout<Self>.stride
}
}

class Foo: Sizeable {}

class Baa: Sizeable {}
Foo.size
Baa.size

关于swift - 在 Swift 中遵守空协议(protocol)有什么意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60476700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com