当您使用GKMatchMaker的findMatchForRequest时,您会向它传递一个完成处理程序。
如果你调用
[[GKMatchmaker sharedMatchmaker]cancel];婚介确实会被取消。将调用您提供的完成处理程序。它将通过一个NSError调用,描述用户取消了匹配。
有没有一种方法也可以取消调用处理程序?也就是说,如果我使用cancel,我希望处理程序永远不被调用,因为我已经知道比赛被取消了。
当然,我可以有一些wasCancelled标志-当处理程序被调用时,我可以检查这个标志:如果它是真的,那么绝对不做任何事情。然而,我想知道是否有更简单的方法(即:取消被调用的处理程序)。
iOS 7。
发布于 2014-04-13 06:24:01
虽然您看到的行为是正常的,也是意料之中的,但如果您确实不希望因为某种原因而调用处理程序,您可以在取消之前清空处理程序,这将阻止它在取消事件中被调用。请确保在发起下一次调用之前重新分配处理程序。
https://stackoverflow.com/questions/23026487
复制相似问题