加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift闭合 – 强制闭合始终完成

发布时间:2020-12-14 04:39:48 所属栏目:百科 来源:网络整理
导读:是否可以强制关闭完成?与返回值必须始终返回的函数一样,如果有一种方法可以强制闭包含有总是完成所需的语法,那么它就是王牌. 例如,此代码将无法编译,因为该函数并不总是返回值: func isTheEarthFlat(withUserIQ userIQ: Int) - Bool { if userIQ 10 { retu
是否可以强制关闭完成?与返回值必须始终返回的函数一样,如果有一种方法可以强制闭包含有总是完成所需的语法,那么它就是王牌.

例如,此代码将无法编译,因为该函数并不总是返回值:

func isTheEarthFlat(withUserIQ userIQ: Int) -> Bool {
    if userIQ > 10 {
        return false
    }
}

以完全相同的方式,我想用闭包定义一个函数,如果闭包永远不会返回,它也不会编译.例如,下面的代码可能永远不会返回completionHandler:

func isTheEarthFlat(withUserIQ userIQ: Int,completionHandler: (Bool) -> Void) {
    if userIQ > 10 {
        completionHandler(false)
    }
}

上面的代码编译,但我想知道是否有一个关键字强制关闭在所有情况下发送完成处理程序.也许它与上述函数中的Void有关?

解决方法

不,如果您忘记(或不需要)在所有可能的条件(如return语句)下调用完成处理程序,则不会导致编译器错误的语言构造.

这是一个有趣的想法,可能会对语言进行有用的增强.也许作为参数声明中某处的必需关键字.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读