UIView необходимо изменить предупредительный знак в зависимости от обработчика завершения работы пользовательского элемента управления:Вложенные замыкания не нравится список аргументов
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
})
Окончательный анимации блок показывает ошибку в форме.
Cannot invoke 'animateWithDuration' with an argument list of type '(NSTimeInterval), animations:()-> Void)'
Если я называю это где-то за пределами закрытия закрывания, он работает.
спасибо большое =) !! –
Это исправило это для меня, но кто-то подумает, чтобы объяснить * почему * это поведение настолько странно и неожиданно для многих людей? BTW, в вашем примере вы можете заменить '() -> Void' на '_' и добавить return using'; return' в ту же строку. ТАКЖЕ, вы можете написать ';() 'вместо однострочного' return'. :) – BastiBen
Это правильный ответ !!! –