如何创建函数数组?
我正在尝试在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")})
我发现,append
当我尝试执行以下操作时,Swift Playground不会建议您:
self.pending.append(success)
这很有道理-Swift无法推断出-的类型,self.pending
但这就是我的问题所在。我不确定如何预定义(Void -> Void)
函数数组。
是否可以在Swift中创建函数数组?我想是这样,职能是一等公民。
回答:
绝对有可能,只需将数组初始化为:
var pending = Array<(Void -> Void)>()
甚至是鸽友
var pending = Array<()->()>()
要么
var pending: [(Void->Void)] = []
要么
var pending: [(()->())] = []
要么
var penguins: [<(") <(")] = [] // kidding
以上是 如何创建函数数组? 的全部内容, 来源链接: utcz.com/qa/418954.html