ios - GameKit 中的 Swift 完成处理程序

标签 ios swift ios8 gamekit

如何在 Swift 中实现以下功能?

func findMatchForRequest(_ request: GKMatchRequest!,
   withCompletionHandler completionHandler: ((GKMatch!,
                                  NSError!) -> Void)!)

当我尝试过

var request = GKMatchRequest();
request.minPlayers = 2;
request.maxPlayers = 4;    
GKMatchmaker.sharedMatchmaker().findMatchForRequest(request, withCompletionHandler: { (match : GKMatch!, error: NSError!) -> Void in {

                }
            })

它给出了“无法转换表达式类型”的编译错误。我是否遗漏了一些明显的东西?

最佳答案

你很接近。您的完成处理程序中只有一组不必要的大括号。这是正确的版本:

GKMatchmaker.sharedMatchmaker().findMatchForRequest(
    request,
    withCompletionHandler: {(match : GKMatch!, error: NSError!) -> Void in
        NSLog("This works")
})

编辑:我的意思是大括号!

关于ios - GameKit 中的 Swift 完成处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27411026/

相关文章:

ios - 如何加载合适的 Default.png 到 UIimageView?

ios - 编码新手,正在工作书中的一个示例,该示例是为 xcode 6.2 编写的,我有最新版本。

ios - 在 Swift 中如何在 View Controller 和其他对象之间共享数据?

iOS 8 自动布局、VFL 和边距等于或大于

ios - 使用 iOS 8 可操作通知启动应用程序

swift - 快速访问navigationController subview 的项目

ios - Apple Swift - 无法从 CMPedometer 的处理程序中检索数据

ios - Facebook 个人资料图片无法下载

ios - Xcode 10:多个命令产生[CP] Embed Pods Framework

swift - 查找哪个选项卡栏项目被选中