当您使用GKMatchMaker
的{{1}}时,您会将完成处理程序传递给它。
如果你打电话
findMatchForRequest
配对确实会被取消。您将提供您提供的完成处理程序。它将使用[[GKMatchmaker sharedMatchmaker]cancel];
调用,描述用户取消了匹配。
有没有办法取消处理程序被调用?也就是说,如果我使用NSError
,我希望永远不会调用处理程序,因为我已经知道匹配已被取消。
当然,我可以有一些cancel
标志 - 当调用处理程序时,我可以检查这个标志:如果它是真的,那么绝对不做任何事情。然而,我想知道是否有更简单的方法(即:取消处理程序被调用)。
iOS 7。
答案 0 :(得分:0)
虽然您看到的行为是正常的,并且如果您真的不希望因某种原因调用处理程序,您可以在取消之前将处理程序清零,这将阻止在取消时调用它。确保在启动下一个调用之前重新分配处理程序。