BOOL在Objective-C中改变了价值?

时间:2009-03-04 00:18:43

标签: objective-c boolean

我遇到BOOL属性时遇到问题,我无法弄明白。

我的.h文件中有以下内容:

BOOL myVar;

@property BOOL myVar;

然后在我的.m文件中,我合成了myVar,并设置了一个设置myVar = YES;的方法,并启动了一个计时器。然后计时器调用另一个尝试读取myVar值的方法。

为了测试myVar的值,我有:

NSLog(@"The value of the bool is %@\n", (myVar ? @"YES" : @"NO"));

通过控制台的第一个循环显示myVar = YES然后它显示NO。

如何将其保留为YES的值?它已经YES但是我的NSLog错了吗?我需要在该方法中测试YES / NO,因为所采取的操作将根据其值而变化。

2 个答案:

答案 0 :(得分:3)

失败的原因是因为我正在比较(myVar = YES)而不是(myVar == YES。)

是的 - 我是新人。

答案 1 :(得分:2)

myVar上设置一个观察点,以确定它是否真的发生变化,看不到更多的源代码我们无法告诉您发生了什么:)