如何创建函数数组?

我正在尝试在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

回到顶部