如何在Xcode 4.3中成功使用BOOL

时间:2012-08-04 20:13:21

标签: ios xcode boolean avfoundation

我刚刚完成了使用AVFoundation的斯坦福大学的iPhone课程。这是TA让我们制作应用程序的课程,该应用程序显示视频,然后用脸部识别将太阳镜放在脸上。所以我想连接几个开关和滑块来做不同的事情。第一个是滑块,它改变了色调过滤器的值。然后我想切换显示太阳镜。但是开关没有关掉太阳镜。虽然开关有效。我用

在属性中声明了一个BOOL
@property (nonatomic) BOOL sunGlasses;  

我合成了它,然后将开关连接到以下操作

- (IBAction)toggleGlasses:(id)sender 
{
if (_mySwitch.on)
{
    NSLog(@"toggle is on");
    self.sunGlasses = YES;
}else {
    NSLog(@"toggle is off");
    self.sunGlasses = NO;
}
}

然后在 - (void)captureOutput的方法下,这是色调变化的地方,脸部识别是我添加到脸部识别部分

if ((faceFound) && (self.sunGlasses = YES)){
    [self.glasses setHidden:NO];
}else{
    [self.glasses setHidden:YES];
}

过去只是(faceFound)然后隐藏眼镜或展示它们。但是,如果将开关切换到关闭状态,这不会使眼镜消失。

2 个答案:

答案 0 :(得分:4)

您使用过:

self.sunGlasses = YES

single =是一项任务。它设置该属性的值,并且当在更大的表达式中使用此语句时,它的值为YES。因此,“if”条件始终为真,并且始终显示显示太阳镜的分支。

使用double equals ==来测试相等性。

答案 1 :(得分:-1)

您可以使用

如果(self.sunGlasses){

}

验证