iOS Objective-C 中 bool 与 BOOL 的你不一定知道的事

测试一下这段代码:

- (void)test {
    NSLog(@"this is an attribut: %d", anAttribute);
    for (int i = 0; i < 5; i++) {
        BOOL isTest1;
        if (isTest1 == NO) {
            NSLog(@"%d: NO", isTest1);
        }
        if (isTest1 == false) {
            NSLog(@"%d: false", isTest1);
        }
        if (i == 2) {
            isTest1 = YES;
        }
        NSLog(@"isTest1: %d", isTest1);
    }
    NSLog(@"/////////////");
    for (int i = 0; i < 5; i++) {
        bool isTest2;
        if (isTest2 == NO) {
            NSLog(@"%d: NO", isTest2);
        }
        if (isTest2 == false) {
            NSLog(@"%d: false", isTest2);
        }
        if (i == 2) {
            isTest2 = YES;
        }
        NSLog(@"isTest2: %d", isTest2);
    }
    NSLog(@"/////////////");
    for (int i = 0; i < 5; i++) {
        BOOL isTest3 = YES;
        if (i == 2) {
            isTest3 = NO;
        }
        NSLog(@"isTest3: %d", isTest3);
    }
    NSLog(@"/////////////");
    for (int i = 0; i < 5; i++) {
        BOOL isTest4 = NO;
        if (i == 2) {
            isTest4 = YES;
        }
        NSLog(@"isTest4: %d", isTest4);
    }
}

 

测试过这段代码之后,你可能对 bool 和 BOOL 会有不同的认识。

结论是,一定要养成初始化变量的习惯。

 

posted @ 2015-12-18 16:52  davesuen  阅读(1857)  评论(0编辑  收藏  举报