swift – 从协议扩展实例方法中读取静态var

swift – 从协议扩展实例方法中读取静态var,第1张

概述假设我们有一个 Swift协议: protocol SomeProtocol: class { static var someString: String { get }} 有没有办法从扩展实例方法访问someString,像这样? extension SomeProtocol { public func doSomething() -> String { ret 假设我们有一个 Swift协议:
protocol SomeProtocol: class {    static var someString: String { get }}

有没有办法从扩展实例方法访问someString,像这样?

extension SomeProtocol {    public func doSomething() -> String {        return "I'm a \(someString)"    }}

我收到编译器错误:

Static member ‘someString’ cannot be used on instance of type ‘Self’

有没有办法实现这个目标?

你需要用Self引用someString(注意大写的S):
extension SomeProtocol {    public func doSomething() -> String {        return "I'm a \(Self.someString)"    }}
总结

以上是内存溢出为你收集整理的swift – 从协议扩展实例方法中读取静态var全部内容,希望文章能够帮你解决swift – 从协议扩展实例方法中读取静态var所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1043347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存