Objective-C BOOL指针条件检查

时间:2014-07-12 12:02:43

标签: objective-c pointers boolean

如果检查BOOL变量,我会遇到奇怪的行为。执行总是进入'if(wasViewHidden)'条件。无论是ViewViewHidden == NO;无论我怎么检查它。我做错了什么?

代码几乎解释了自己

- (void)onButton:(UIButton *)sender
{
    BOOL wasViewHidden;
    [self showHideView:&wasViewHidden];
    if (wasViewHidden) {
        // Always entering.

        // (lldb) p wasViewHidden
        // (BOOL) $0 = NO
    }
}

- (void)showHideView:(BOOL *)previousState
{
    static BOOL isHidden = YES;
    if (previousState)
        *previousState = isHidden;

    // show or hide the view

    isHidden = !isHidden;
}

更新 (已解决)

感谢所有评论者。我了解到代码是事实正确的(并且我的头部没有任何问题)。 xcode重启后 - >干净 - >重建它正常工作 - 正如Leo Natan建议的那样。

0 个答案:

没有答案