【发布时间】:2015-05-11 02:35:47
【问题描述】:
假设我们有一个像这样的闭包:(用作completionHandler)
func doSomething (completionHandler : (done : Bool)->Void )->Void {
...
completionHandler(true)
}
现在如果我们想做这样的事情:
doSomething({ (done : Bool)-> Void
var data : NSDictionary = NSDictionary()
data.setValue("data1", forKey: "data1") // 1
data.setValue("data2", forKey: "data2") // 2
data.setValue("data3", forKey: "data3") // 3
})
它在 // 1 行返回并忽略其余行,因为 NSDictionary 的 setValue 的返回类型是 Void。我的问题是,有没有办法抑制这种行为?
【问题讨论】:
-
目前我依赖这个:var ret_consume = data.setValue("data1", forKey: "data1")
-
试着把这 4 行放在括号 { } 中。
-
@Amit89 这会导致编译时错误 .... 表达式不明确,没有任何上下文
标签: swift return closures implicit completion-block