在 swift 中的函数内部访问闭包变量
Access variables for closures inside functions in swift
在下面的代码中,我无法像以前在 objective C.
中那样访问 'finished' 的值
UIView.animateWithDuration(5, delay: 5, options: UIViewAnimationOptions.AllowAnimatedContent, animations: { () -> Void in
}, completion: { (finished:Bool) -> Void in
});
提前致谢!
看起来这个问题大部分在评论中得到了解决,但让我们给它一个明确的答案,以便那些以后可能 运行 在尝试解决他们自己的问题时遇到这个问题的人...
自 Xcode 6.1 起,代码补全在闭包内部无法完全发挥作用。您仍然可以使用闭包范围内的任何标识符,只是在您开始输入时不会为您建议和粘贴它们。 (这是关注语言的一个很好的理由,如果你问我......过于依赖工具让你无法理解自己的代码,如果你不理解自己的代码,你将如何确保这是正确的吗?)欢迎您 file a bug,但我想 Apple 已经知道这个了。
(是的,Apple 需要改进 MS Visual Studio 的代码完成功能。等等,什么?:D Xcode 的代码完成功能没有特殊的营销名称。)
在下面的代码中,我无法像以前在 objective C.
中那样访问 'finished' 的值UIView.animateWithDuration(5, delay: 5, options: UIViewAnimationOptions.AllowAnimatedContent, animations: { () -> Void in
}, completion: { (finished:Bool) -> Void in
});
提前致谢!
看起来这个问题大部分在评论中得到了解决,但让我们给它一个明确的答案,以便那些以后可能 运行 在尝试解决他们自己的问题时遇到这个问题的人...
自 Xcode 6.1 起,代码补全在闭包内部无法完全发挥作用。您仍然可以使用闭包范围内的任何标识符,只是在您开始输入时不会为您建议和粘贴它们。 (这是关注语言的一个很好的理由,如果你问我......过于依赖工具让你无法理解自己的代码,如果你不理解自己的代码,你将如何确保这是正确的吗?)欢迎您 file a bug,但我想 Apple 已经知道这个了。
(是的,Apple 需要改进 MS Visual Studio 的代码完成功能。等等,什么?:D Xcode 的代码完成功能没有特殊的营销名称。)