BOOL属性返回错误的BOOL结果

时间:2013-10-31 07:29:16

标签: ios objective-c properties boolean lldb

BOOL属性正在返回NO,尽管它支持iVar表示它是Yes

问题

我的课程PFIBinaryPointViewBOOL属性:

@property (nonatomic, getter=isGlowing) BOOL glowing;

我正在用Kiwi测试另一个班级sut。此类的一部分是用于设置或取消设置numberToDisplay:属性的方法glowing

context(@"when numberToDisplay is called", ^{
    __block PFIBinaryPointView *point;
    it(@"should activate the correct points for the number 1", ^{
        [sut numberToDisplay:1];
        point = [sut.binaryPoints objectAtIndex:0];
        [[theValue([point isGlowing]) should] equal:theValue(YES)];
    });
});

但是isGlowing总是会返回NO,尽管它的烘焙是iVar说它(应该是)YES

IMAGE

我尝试过的事情:

  • 起初我认为这是一个新西兰问题,但后来我试着插入一个助手BOOL BOOL test = point.isGlowing;test始终是NO
  • 我尝试使用NSLog语句记录它以查看是否存在任何差异 - >始终No或0。
  • 我仔细检查了PFIBinaryPointView类,了解iVar的任何隐式声明。但是我使用默认的getter和setter,而且也没有@synthesize
  • 我试图重命名该属性。因为它被称为isActive
  • 我为洞项目做了一个干净的工作。
  • 我重启了Xcode几次。

所以,如果有人能解释我这种奇怪的行为,请这样做或者更好地告诉我如何说服该物业返回正确的结果。

2 个答案:

答案 0 :(得分:1)

你可以尝试使用frame variable point._glowing并查看它报告的内容吗?

如果它对您而言,则是时候进行错误报告了

如果说的是正确的话,请尝试右键单击_glowing iVar,然后编辑其摘要。我怀疑在结果窗口中显示“是”。

答案 1 :(得分:0)

我在某些第三方代码中遇到此问题。看起来bool没有在任何地方初始化,xcode假设它实际上是自动初始化为false! (无论如何..初始化bool修复了我的问题)。

相关问题