[英]Swift Completion Handlers in 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")
})
編輯:我的意思是大括號!
僅供參考,您可以使用結尾閉包:
GKMatchmaker.sharedMatchmaker().findMatchForRequest(request) {
match, error in
println("This works")
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.