在swift中访问函数内部闭包的变量

时间:2015-01-06 12:39:01

标签: animation swift closures block

在下面的代码中,我无法像以前在目标C中那样访问'finished'的值。

UIView.animateWithDuration(5, delay: 5, options: UIViewAnimationOptions.AllowAnimatedContent, animations: { () -> Void in

        }, completion: { (finished:Bool) -> Void in

    });

提前致谢!

1 个答案:

答案 0 :(得分:1)

看起来这个问题大部分已经在评论中得到了解释,但让我们给出一个明确的答案,让那些可能会在试图解决自己的问题时遇到这些问题的人获益......

从Xcode 6.1开始,代码完成在闭包内部并不完全有效。您仍然可以使用关闭范围内的任何标识符,当您开始输入时,您只是不建议并粘贴它们。 (这是一个很好的理由去关注语言,如果你问我...过分依赖工具会让你无法理解自己的代码,如果你不了解自己的代码,那么你要确保它是正确的吗?)你欢迎file a bug,但我想苹果已经知道了这一点。

(是的,Apple需要改进MS Visual Studio的代码完成功能。等等,什么?:D Xcode的代码完成功能没有特殊的营销名称。)