3
我正试图完成以下任务(使用操场): 将函数列表存储在一个数组中,然后执行它们。Swift:执行一个函数作为参数
我在做什么是:
func f1(){
println("f1")
}
var a : [(a: Int, b: (Void) -> Void)] = []
a.append(a: 2, b: f1)
for(var i = a.count-1; i >= 0; i--){
a[i].b()
}
我得到的错误是: “执行被中断,原因是:EXC_BAD_ACCESS(代码= EXC_I386_GPFLT)” 刚才在电话:
a[i].b()
而如果I型:
a[i].b
游乐场建议我: “(功能)”
有关我如何做到这一点的任何想法?我怎样才能执行该功能? 感谢
即使斯威夫特似乎更喜欢无名元组的问题似乎与新雨燕1.2版 (在我的测试中,只有未命名的元组工作)
通过使用两次,您已经很难理解该示例。你不能用恰当的词语代替a,a和b。 – Fogmeister 2014-12-04 18:10:37
看起来像一个bug给我。在调试模式下运行时,这里有同样的异常,并且在编译Release模式时Xcode 6.1.1崩溃。 – 2014-12-04 18:13:02
似乎固定在Swift 1.2中,我更新了这个问题 – 2015-04-10 14:59:11