我能用一下吗?属性上的运算符



是否可以在属性上使用! (not, or bang)操作符?我这样做的原因是我可能会发现一个属性与我想要它做的完全相反。这是我想到的一个例子。

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

我从苹果文档中得到了这个例子,并对它进行了修改。

文档是这样说的:

如果你的游戏设置了playerGroup属性,只有那些请求具有相同playerGroup值的玩家才会被game Center自动匹配。将playerGroup属性设置为0允许玩家匹配到任何等待的比赛中。将playerGroup属性设置为非零数字,以便只与匹配请求共享相同球员组号的球员进行匹配。

你想做的似乎是不可能的。playerGroup属性只有两种可能的语义:如果它是0,那么它匹配任何东西;如果它是任何非零值,那么它只匹配具有相同值的请求。

没有办法实现"匹配任何除了这个值"。这与语言或语法无关。这完全取决于苹果如何定义playerGroup属性。它的语义在实现中,在框架和服务器端都是如此。希望某些假设的语言特性可以在这些代码片段中诱导不同的行为是不明智的。

最新更新