A UIView einen Warnhinweis in Abhängigkeit von der Beendigung Handler von einem benutzerdefinierten Steuerelement ändern muss:Nested Verschlüsse nicht wie Argumentliste
voucherInputView.completionHandler = {[weak self] (success: Bool) -> Void in
self?.proceedButton.enabled = success
self?.warningLabel.alpha = 1.0
if success
{
self?.warningLabel.text = "Code you entered is correct"
self?.warningLabel.backgroundColor = UIColor.greenColor()
}
else
{
self?.warningLabel.text = "Code you entered is incorrect"
self?.warningLabel.backgroundColor = UIColor.orangeColor()
}
UIView.animateWithDuration(NSTimeInterval(1.0), animations:{()-> Void in
self?.warningLabel.alpha = 1.0
})
Der letzte Animationsblock einen Fehler in der Form zeigt.
Cannot invoke 'animateWithDuration' with an argument list of type '(NSTimeInterval), animations:()-> Void)'
Wenn ich dies irgendwo außerhalb der Abschlussschließung nennen, funktioniert es.
vielen dank =) !! –
Das hat es für mich repariert, aber würde jemand etwas dagegen haben zu erklären * warum * dieses Verhalten ist so seltsam und unerwartet für viele Leute? BTW, in Ihrem Beispiel können Sie '() -> Void' durch '_' ersetzen und Return mit' 'anhängen; zurück in die gleiche Zeile. AUCH können Sie schreiben ';() 'anstelle einer einzeiligen' return'. :) – BastiBen
Das ist die richtige Antwort !!! –