gpt4 book ai didi

swift - 如何创建函数数组?

转载 作者:搜寻专家 更新时间:2023-10-31 08:09:13 24 4
gpt4 key购买 nike

我正在尝试在 Swift 中构建 Promises 的基本实现,我需要能够向数组添加函数,但我不确定如何让它工作。

class Promise {
var pending = []

func resolve() -> Void {
}

func then(success: (Void -> Void)) -> Promise {
// how do I add success to pending array?
return self
}
}

let p = Promise()
p.then({println("finished")})

我发现当我尝试做这样的事情时,Swift Playground 不会建议 append:

self.pending.append(成功)

这是有道理的——Swift 无法推断出 self.pending 的类型——但这就是我的问题所在。我不确定如何预定义 (Void -> Void) 函数数组。

是否可以在 Swift 中创建一个函数数组?我假设是这样,函数是一等公民。

最佳答案

肯定是可以的,只需将数组初始化为:

var pending = Array<(Void -> Void)>()

甚至是鸽友

var pending = Array<()->()>()

var pending: [(Void->Void)] = []

var pending: [(()->())] = []

var penguins: [<(") <(")] = [] // kidding

关于swift - 如何创建函数数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24088596/

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