我在新的Swift项目中使用Objective-C Firebase框架时遇到麻烦。我主要来自C#背景,因此Swift闭合语法尚不清楚。
这是在f为Firebase对象的情况下在Objective-C中代码的工作方式
[f observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) { NSLog(@"%@ -> %@", snapshot.name, snapshot.value); }];
XCode auto建议使用这种语法,而我还没有找到可行的解决方案。
f.observeEventType(FEventTypeValue, withBlock: ((FDataSnapshot!) -> Void)?)
我想像Objective-C示例一样将FDataSnapshot数据分配给一个变量。谢谢
这是Swift的等效项:
f.observeEventType(FEventTypeValue, withBlock: { snapshot in println("\(snapshot.name) -> \(snapshot.value)") })
这里的关键是in关键字,用于将变量的闭包分配给变量
in