swift - 将 Objective-C block 转换为 Swift 2.0

标签 swift closures objective-c-blocks

Objective-C block :

[networHandler composeRequestWithMethod:MethodRespondToAppointMent
                                        paramas:queryParams        //NSDictionary
                                   onComplition:^(BOOL success, NSDictionary *response){
    //                                   NSLog(@"Dict: %@", response);
    }];

现在我想用 Swift 来表示这一点。我该怎么做?

更新:

let handler = NetworkHandler.sharedInstance() as! NetworkHandler
        let dict = ["":""]

        handler.composeRequestWithMethod("", paramas: dict) { (success, response) -> Void in

        }

这对我有用。

最佳答案

在 Swift 中,如果尾随参数是一个闭包,您还可以使用 Anbu.Karthik 答案的缩短版本:

networHandler.composeRequestWithMethod(MethodRespondToAppointMent, paramas: queryParams) { success, response in
//      NSLog(@"Dict: %@", response)
}

关于swift - 将 Objective-C block 转换为 Swift 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35061359/

相关文章:

SwiftUI:在使用常量与@Binding 初始值设定项时了解 .sheet/.fullScreenCover 生命周期

ios - 对 iOS block 和保留循环的偏执

objective-c - 绑定(bind)到 block 的 Objective C 间接指针无法更新直接指针

objective-c - Objective-C : Passing method parameter to a block inside a block?

ios - 如何在不让 UIView 移动到角落的情况下使用大小约束?

ios - 尝试设置 Firebase 推送通知时出现错误

swift - Dictionary<String, String> 出现奇怪的编译器错误

JavaScript 类和调用上下文

objective-c - 如何从 Objective-C 类推送 Swift View Controller 并将数据传回并继续 Objective C 类中的下一个过程

Groovy - 闭包与方法 - 区别