2015-12-15 12 views
6

我々はスウィフトのプロトコルを持っているとしましょう:プロトコル拡張インスタンスメソッドから静的VARを読む

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'

は、これを実現する方法はありますか?

答えて

6

あなたはSelfノート大文字S)でsomeStringを参照する必要があります。

extension SomeProtocol { 
    public func doSomething() -> String { 
     return "I'm a \(Self.someString)" 
    } 
} 
関連する問題