显然foo =!foo; 不适用.
foo = !foo 确实适用.
NO 例:
BOOL foo = NO;
foo = !foo;
...foo equals YES...
Run Code Online (Sandbox Code Playgroud)
除了以下任何其他价值NO:
BOOL foo = YES; // -3 or YES or 100
foo = !foo;
...foo equals NO...
Run Code Online (Sandbox Code Playgroud)
如果您找到不返回的API,YES或NO提交错误报告.你不会看到,从苹果公司,但有些人已经采取的存储数量以外的其他能力的优势YES或NO在BOOL(这是一个signed char-它早于C'S bool).如果需要的话,可以减少BOOL到YES或NO使用!!foo,(bool)foo或bool f = foo;.我赞成最后一个; bool变量.