2014-04-12 6 views
0

Когда вы используете GKMatchMakerfindMatchForRequest, вы передаете ему обработчик завершения.Могу ли я остановить обработчик сватовства, если я отменил сватовство?

Если вы звоните

[[GKMatchmaker sharedMatchmaker]cancel]; 

сватовства действительно будет отменен. Вызывается обработчик завершения, который вы указали. Он будет вызываться с NSError, описывая, что пользователь отменил сватовство.

Есть ли способ отменить обработчик от вызова? То есть, если я использую cancel, я бы хотел, чтобы обработчик никогда не вызывался, потому что я уже знаю, что матч был отменен.

Конечно, у меня мог бы быть флаг wasCancelled - при вызове обработчика я могу проверить этот флаг: если он прав, то ничего не делать. Хотелось бы знать, был ли более простой способ (а именно: отменить обработчик от вызова).

IOS 7.

ответ

0

В то время как поведение, которое вы видите, является нормальным и ожидаемым, если вы действительно не хотите, чтобы обработчик будет называться по какой-то причине вы можете ноль из обработчика до отмены, который позволит предотвратить его от вызывается в случае отмены. Обязательно переназначить обработчик перед началом следующего вызова.

+0

Как я могу его исключить? – Voldemort

Смежные вопросы