为什么在println()
语句中调用in
时,我无法看到public class TestClass {
public var testType: String = ""
public func test(test:((TestClass) -> Void)!){
testType = "TEST"
}
}
var request = TestClass()
request.test({(response: TestClass) in
println("Test: \(response.testType)")
})
的输出?我怎样才能在Xcode中看到这个输出?
我已经完成了这个虚拟测试代码:
{{1}}
答案 0 :(得分:0)
你没有在TestClass.test中调用闭包
将其更改为
public func test(test:((TestClass) -> Void)!){
testType = "TEST"
test(self)
}
答案 1 :(得分:0)
在您的示例中,您调用方法test()
作为TestClass -> Void
类型的参数函数。但是,在test()
方法的实现中,您永远不会调用传递的函数,因此永远不会执行println()
。
你可以尝试
public func test(testFunction:((TestClass) -> Void)!){
testType = "TEST"
testFunction(self)
}