Nested closures mag keine Argumentliste

A UIView muss eine Warnbeschriftung in Abhängigkeit vom Beendigungshandler eines benutzerdefinierten Steuerelements ändern:

    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 zeigt einen Fehler im Formular.

Cannot invoke 'animateWithDuration' with an argument list of type '(NSTimeInterval), animations: ()-> Void)'

Wenn ich das irgendwo außerhalb des Abschlussabschlusses nenne, funktioniert es.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage