微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将可选的回调传递到Swift函数

我学习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 举报,一经查实,本站将立刻删除。

相关推荐