如果我有一个状态为 YES 或 NO 的 BOOL,是否有翻转其状态的命令?
显然 foo=!foo; 不适用。
显然 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 不返回YES
或NO
,请提交错误报告。您不会从 Apple 那里看到这一点,但是有些人已经利用了在 a之外YES
或中存储数字的能力(这是 a - 它早于 C's )。如果需要,您可以将 a 缩减为或使用、或。我赞成最后一个;变量。NO
BOOL
signed char
bool
BOOL
YES
NO
!!foo
(bool)foo
bool f = foo;
bool