gpt4 book ai didi

Swift依次运行3个函数

转载 作者:搜寻专家 更新时间:2023-11-01 07:18:22 25 4
gpt4 key购买 nike

我想知道是否有人可以帮助我运行 3 个函数,这些函数依赖于前一个函数的信息来工作。这是我从上一篇关于如何让 2 工作的帖子中找到的代码:

func firstTask(completion: (success: Bool) -> Void) {
// Do something

// Call completion, when finished, success or faliure
completion(success: true)
}

//And use your completion block like this:
firstTask { (success) -> Void in
if success {
// do second task if success
secondTask()
}
}

但是,如果您希望第三个函数在第二个函数完成后运行,该去哪里呢?抱歉,如果这是一个非常基本的问题,但我仍然掌握编程和 Swift 的诀窍。

感谢您的帮助!

最佳答案

最好将结果作为返回值返回,并使用中间变量将函数链在一起。

尽量避免过度使用完成处理程序。它们会使代码异常难以导航。尽可能使用返回值。

func produceASCIIHexCodes() -> [UInt8] {
return [0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21]
}

func convertToUnicodeScalars(hexCodes: [UInt8]) -> [UnicodeScalar] {
return hexCodes.map(UnicodeScalar.init)
}

func convertToCharacters(unicodeScalars: [UnicodeScalar]) -> [Character] {
return unicodeScalars.map(Character.init)
}

func createString(fromCharacters characters: [Character]) -> String {
return String(characters)
}

func display(string: String) {
print(string)
}

let hexCodes = produceASCIIHexCodes()
let unicodeScalars = convertToUnicodeScalars(hexCodes: hexCodes)
let characters = convertToCharacters(unicodeScalars: unicodeScalars)
let string = createString(fromCharacters: characters)
display(string: string)

关于Swift依次运行3个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40580719/

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