Angenommen, wir haben mehrere überladene Funktionen in einer Klasse:
%Vor%Und wir haben eine API, die die Funktion als Argument bekommt:
%Vor%Wie können wir eine der appendToABC-Funktionen als Argument an eine printString-Funktion übergeben?
Ich habe darüber nachgedacht, die Funktion mit einem Abschluss zu versehen, aber es sieht nicht gut aus
%Vor%Dies ist eine bekannte Einschränkung in Swift. Es gibt ein offenes Angebot , um es anzugehen. Derzeit ist die einzige Lösung eine Schließung.
Beachten Sie, dass dies in Swift auf viele Dinge zutrifft. Sie können Eigenschaften auch nicht direkt als Funktionen bezeichnen, obwohl sie sich wie Funktionen verhalten. Sie müssen eine Schließung verwenden. Und selbst einige freie Funktionen können nicht direkt übergeben werden ( print
ist das gebräuchlichste Beispiel).
Tags und Links swift first-class-functions