QCView inputKey响应NO但在YES时崩溃

时间:2010-08-24 01:08:02

标签: cocoa boolean quartz-composer

我有一个带有布尔输入分配器的QCView。当我尝试[qcview setValue:NO forInputKey:@"showCube"];时,它按预期工作,输入设置为NO。但是,当我尝试[qcview setValue:YES forInputKey:@"showCube"];时,我得到了EXC_BAD_ACCESS。我尝试使用1,YES和TRUE,它们都给出了同样的错误。这可能是导致这个神秘错误的问题吗?

由于

1 个答案:

答案 0 :(得分:3)

setValue:forInputKey:期望value成为一个对象(而不是您提供的标量)。

尝试

 [qcview setValue:[NSNumber numberWithBool:YES] forInputKey:@"showCube"];

 [qcview setValue:kCFBooleanTrue forInputKey:@"showCube"];

(独立标量NO适用于这种情况,因为它的计算结果为0,相当于Objective-C中的nil,在某些情况下,它可以在不爆炸的情况下接收消息但实际上你应该使用NSNumber构造函数或Core Foundation常量之一。)