我学习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)
实际上标记为已弃用。
原文地址:https://www.jb51.cc/swift/320920.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。