我学习Swift Lang,但我不能传递可选的回调参数到函数:
func dismiss(completion: () -> Void) {
if (completion) {
return self.dismissViewControllerAnimated(true,completion: completion)
}
self.dismissModalViewControllerAnimated(true)
}
这给我一个错误 – Type() – > Void不符合协议“LogicValue”
有什么建议么?
将完成参数声明为(隐含解包)可选闭包(() – > Void)!:
func dismiss(completion: (() -> Void)!) {
if (completion) {
return self.dismissViewControllerAnimated(true,completion: completion)
}
self.dismissModalViewControllerAnimated(true)
}
但请注意,你可以打电话
self.dismissViewControllerAnimated(true,completion: completion)
在任何情况下,因为该函数的完成参数也是可选的。
和
func dismissModalViewControllerAnimated(animated: Bool)
实际上标记为已弃用。