2017-03-02 5 views
0

Ich weiß, dass ich nur Namen ändern kann, aber gibt es eine andere Möglichkeit, das zu lösen?Swift: Wie klasse ich Nicht-Klasse-Funktion, wenn ich die gleiche Funktion in meiner Klasse habe?

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

, so dass Sie den Anruf zu 'print' wollen die eigentlich nennen vordefinierten' Swift.print'? – luk2302

+0

Siehe auch: [Swift 3.0: Compiler-Fehler beim Aufruf von globalen func min (T, T) in Array oder Dictionary-Erweiterung] (http://stackoverflow.com/q/39602298/2976878) – Hamish

+2

In diesem Fall gibt es wirklich keine Grund, warum der Compiler nicht in der Lage sein sollte, den Aufruf von 'print (_: terminator:)' zu Swifts 'print' statt Ihrer zu lösen. – Hamish

Antwort

2

Für globale Swift builtins Sie können Swift.whatever(argument) nennen, so in diesem Fall:

Swift.print(string, terminator: ";") 
Verwandte Themen