Swift3でインスタンスから型メソッドを呼ぶ
ある型(class/struct)のインスタンスを使って型メソッドを呼ぶには、type(of:)
関数を使います。
class Foo { static var bar: Int { return 100 } } let foo = Foo() foo.bar // error: static member 'bar' cannot be used on instance of type 'Foo' type(of: foo).bar // 100
上のコンパイルエラーになっている箇所のようにfoo.bar
とは呼べないので注意。あと、Swift2で使えていたdynamicType
プロパティはSwift3では使えないので、こちらも注意です。