【发布时间】:2017-04-09 18:41:14
【问题描述】:
出于学习目的,我正在尝试使用闭包运行这个简单的示例,但似乎没有像我预期的那样工作:
class Test {
var callback: ((_ value: Int) -> Void)?
func perform() {
callback
}
}
let t = Test()
t.callback = { _ in
print("Test")
}
t.perform()
我预计"Test" 会被打印出来,但显然不是。有人能指出问题是什么吗?
【问题讨论】:
-
您的代码无法编译。
-
我在操场上写的,没有错误显示给我。让我在 Xcode 项目中试试吧。
-
在
perform方法中,您可能希望将参数传递给callback,例如callback?(5). -
如此琐碎,我被 Playgrounds 愚弄了,没有看到错误。您可以将其发布为答案以便我接受吗?
标签: swift