Bea*_*wah 11 closures objective-c swift
我在新的Swift项目中使用Objective-C Firebase框架时遇到了麻烦.我来自大多数C#背景,所以Swift闭包语法还不是很清楚.
以下是代码在Objective-C中的工作方式,其中f是Firebase对象
[f observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"%@ -> %@", snapshot.name, snapshot.value);
}];
Run Code Online (Sandbox Code Playgroud)
XCode自动建议这种语法,我还没有找到一个有效的解决方案.
f.observeEventType(FEventTypeValue, withBlock: ((FDataSnapshot!) -> Void)?)
Run Code Online (Sandbox Code Playgroud)
我想像在Objective-C示例中那样将FDataSnapshot数据分配给变量.谢谢
Jac*_*ack 14
这是Swift的等价物:
f.observeEventType(FEventTypeValue, withBlock: {
snapshot in
println("\(snapshot.name) -> \(snapshot.value)")
})
Run Code Online (Sandbox Code Playgroud)
这里的关键是in将闭包的参数赋给变量的关键字