Могу ли я использовать! оператор на имущество?

Можно ли использовать !(не, или взрыв) оператор на имущество? Причина, по которой я хотел бы сделать это, заключается в том, что я мог бы найти свойство, которое полностью противоположно тому, что я хочу. Вот пример того, что я имею в виду.

GKMatchRequest *request = [[GKMatchRequest alloc] init];
request.minPlayers = 2;
request.maxPlayers = 2;
request.!playerGroup = MyMap_Forest | MyRulesCaptureTheFlag;

Я взял этот пример из Apple Docs и изменил его.

Вот что говорят доктора:

Если ваша игра устанавливает playerGroup собственность, только игроки, чьи запросы разделяют playerGroup значение автоматически сопоставляется Game Center. Настройка playerGroup свойство 0 позволяет игроку сопоставляться с любым ожидающим совпадением. Установите для свойства playerGroup ненулевое число, чтобы сопоставлять игрока только с игроками, чьи запросы на совпадение имеют одинаковый номер группы игроков.

1 ответ

Решение

То, что вы, кажется, хотите сделать, не возможно. playerGroup Свойство имеет только две возможные семантики: если оно равно 0, то оно соответствует чему угодно; если это любое ненулевое значение, то оно сопоставляет запросы только с тем же значением.

Нет никакого способа достичь "соответствует чему-либо, кроме этого значения". Это не имеет ничего общего с языком или синтаксисом. Все дело в том, как Apple определила playerGroup имущество. Семантика этого заключается в реализации, как в рамках, так и на стороне сервера. Надеяться на то, что некоторая гипотетическая языковая особенность может вызывать различное поведение в этих частях кода, не имеет смысла.

Другие вопросы по тегам