closures - 没有有意义错误的 Swift Traling 闭包失败

标签 closures swift

我正尝试按如下方式传递尾随闭包参数(代码在没有此功能的情况下也能正常工作):

PNObservationCenter.defaultCenter().addClientConnectionStateObserver(self) { 
    (origin: String!, connected: Bool!, error: PNError!) in
    if (connected) {
        println("OBSERVER: Successful Connection!");
    } else if (!connected || error) {
        println("OBSERVER: \(error.localizedDescription), Connection Failed!");
    }
}

但是,构建失败并显示以下消息:

命令/Applications/Xcode6- Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift 失败,退出代码为 254

有没有人知道我做错了什么?提前致谢。

编辑:如果实现为非尾随闭包或作为作为参数传递的单独函数,此代码仍然会崩溃。

最佳答案

在将 Xcode 从 beta 1 升级到 beta 2 后,我也遇到了这个错误。显然闭包定义发生了一些变化。尝试使用 Void 而不是 ()。所以你的代码将是:

PNObservationCenter.defaultCenter().addClientConnectionStateObserver(self) { (来源:String!,连接:Bool!,错误:PNError!)-> Void in 如果(连接){ println("观察者:连接成功!"); } else if (!connected || error) { println("OBSERVER: (error.localizedDescription), 连接失败!"); } }

关于closures - 没有有意义错误的 Swift Traling 闭包失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24441956/

相关文章:

swift - 使用 iPhone TrueDepth 传感器来检测真人脸与照片?

ios - 如何获取 UITableView 约束?

javascript - 闭包、递归和 settimeout - 记录空数组

f# - 使用循环引用设计和更好的选项对不可变类进行批判

javascript - 立即调用的 setTimeOut 表达式

swift - 如何使用ffmpeg将MOV文件头添加到原始数据写入文件中?

c# - 调用函数时为什么会有内存分配

ios - 完成处理程序?异步调度?

ios - 如何创建一个包含符合协议(protocol)的对象的元组?

swift - 删除 Realm 中的对象并保持 TableView 同步