-1

如果我有一个状态为 YES 或 NO 的 BOOL,是否有翻转其状态的命令?

显然 foo=!foo; 不适用。

4

1 回答 1

5

显然 foo=!foo; 不适用。

foo = !foo 确实适用。


NO例子:

BOOL foo = NO;
foo = !foo;
...foo equals YES...

对于 以外的任何值NO

BOOL foo = YES; // -3 or YES or 100
foo = !foo;
...foo equals NO...

如果您发现 API 不返回YESNO,请提交错误报告。您不会从 Apple 那里看到这一点,但是有些人已经利用了在 a之外YES或中存储数字的能力(这是 a - 它早于 C's )。如果需要,您可以将 a 缩减为或使用、或。我赞成最后一个;变量。NOBOOLsigned charboolBOOLYESNO!!foo(bool)foobool f = foo;bool

于 2013-10-01T07:58:23.793 回答