使用Swift处理Objective-C块

 益林代表_610 发布于 2023-01-09 17:41

我在新的Swift项目中使用Objective-C Firebase框架时遇到了麻烦.我来自大多数C#背景,所以Swift闭包语法还不是很清楚.

以下是代码在Objective-C中的工作方式,其中f是Firebase对象

[f observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
  NSLog(@"%@ -> %@", snapshot.name, snapshot.value);
}];

XCode自动建议这种语法,我还没有找到一个有效的解决方案.

f.observeEventType(FEventTypeValue, withBlock: ((FDataSnapshot!) -> Void)?)

我想像在Objective-C示例中那样将FDataSnapshot数据分配给变量.谢谢

1 个回答
  • 这是Swift的等价物:

    f.observeEventType(FEventTypeValue, withBlock: {
        snapshot in
        println("\(snapshot.name) -> \(snapshot.value)")
    })
    

    这里的关键是in将闭包的参数赋给变量的关键字

    2023-01-09 17:44 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有