扭转BOOL

时间:2011-07-26 11:51:06

标签: objective-c boolean

在objective-c中,如果我想要反转BOOL的值,这是否有用,还是会将BOOL的值设置为NO

BOOL ab = YES;

ab = !ab; // would this reverse the BOOL, ab, and set it to NO?

if (ab == NO) {
    ab = !ab; // would this reverse the BOOL again and set it to YES?
}

4 个答案:

答案 0 :(得分:8)

是的,那会有效。 BOOL只是一个整数。 YES1NO0!1 == 0!0 == 1

答案 1 :(得分:2)

快速提问,快速回答。 是

答案 2 :(得分:1)

BOOL完全按照您的描述工作。并非NO 0YES等于其他任何内容(NULL除外)。

示例:

  1. !YES == NO
  2. !NO == YES
  3. !1 ==否
  4. !0 == YES
  5. !5 ==否

答案 3 :(得分:0)

这些都是正确的!

  1. !YES == NO
  2. !NO == YES
  3. !1 ==否
  4. !0 == YES
  5. !5 ==否
  6. 这不正确!

    FreeAsInBeer:“YES等于其他任何东西(NULL除外)。” - 不是

    YES等于除了签名的char 1,所以YES == 32626例如返回false !!