gpt4 book ai didi

swift - 我怎样才能制作一个零兼容的完成处理程序?

转载 作者:搜寻专家 更新时间:2023-11-01 06:02:39 24 4
gpt4 key购买 nike

我创建了一个带有完成处理程序的函数。有时我需要使用完成 block ,有时不需要。

函数如下:

func numberCheck(number: String , completion : @escaping (Bool)->()){
//some task do here
completion(true)
}

使用:

numberCheck(number: "77" , completion: {_ in
//some task do here
})

但我想将其保留为 nil:

numberCheck(number: "77" ,  completion: nil)

但它给了我一个错误:

Nil is not compatible with expected argument type '(Bool) -> ()'

最佳答案

使闭包可选

func numberCheck(number: String , completion : @escaping ((Bool)->())?){

或者为了更好的可读性

typealias CheckResult = (Bool)->()

func numberCheck(number: String , completion : @escaping CheckResult? ){

但是你必须在函数体中写

completion?(true)

关于swift - 我怎样才能制作一个零兼容的完成处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44987786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com