栃木県のJavaエンジニア、WEBプログラマーのためのサイト

2016.01.08[Swift] printメソッドを作るとprint関数が呼び出せない

標準ライブラリの名前空間

printメソッドを作成し、そのクラス内で標準ライブラリのprint関数を呼び出しそうとするとエラーになります。標準ライブラリより自クラスのメソッドが優先されるため、printメソッドを呼び出そうとしているためです。

class MyClass {
    func print() {
        print("MyClass") // この行がエラー。printメソッドの呼び出しになってるため
    }
}

標準ライブラリは、Swiftという名前空間に属しているので Swift.print で呼び出すとか解決します。

class MyClass {
    func print() {
        Swift.print("MyClass") // OK
    }
}