Ich habe versucht, herauszufinden, wie JavaScript in swift zu verwenden ist. Ich stoße auf Probleme, aber wenn ich mit Blöcken als Argumente umgehen muss, scheint der Block sofort ausgeführt zu werden und die Argumente erhalten den Rückgabewert des Blocks. Was mache ich falsch?
Arbeitsziel C-Code:
%Vor%Was ich versucht habe:
1:
%Vor%2:
%Vor%3:
%Vor%Fehle ich hier etwas oder ist das nur ein Fehler in Swift?
Bearbeiten:
Ich habe jetzt auch Vorschläge aus Cast closures / blocks
ausprobiert %Vor%und dann
%Vor%Diese Lösung lässt mich kompilieren, aber ich bekomme einen Laufzeitfehler:
%Vor% Es hat etwas damit zu tun, wie schnell die Schließung funktioniert. Sie müssen @convention(block)
verwenden, um zu kommentieren, dass der Abschluss ObjC-Block ist. Verwenden Sie unsafeBitCast
, um die Umwandlung zu erzwingen
von REPL
%Vor%Tags und Links swift block javascriptcore