2017-03-02 56 views
0

我知道我只需更改名稱,但是有其他解決方法嗎?Swift:如果我在我的類中具有相同的函數,如何調用非類函數?

class MyClass{ 
    func print(_ string: String) { 
     // I'm trying to call a native print method. 
     // Results in error, because it's trying to do recursion. 
     print(string, terminator: ";") 
    } 
} 
+0

所以你要調用'print'實際調用預設的'Swift.print'? – luk2302

+0

另請參閱:[Swift 3.0:調用全局函數時出現編譯器錯誤,最小爲(T,T)的數組或字典擴展名](http://stackoverflow.com/q/39602298/2976878) – Hamish

+2

在這種情況下,確實沒有爲什麼編譯器不應該能夠解析調用'print(_:terminator:)'到Swift的'print'而不是你的。 – Hamish

回答

2

對於全球斯威夫特建宏,你可以打電話Swift.whatever(argument),所以在這種情況下:

Swift.print(string, terminator: ";") 
相關問題