【问题标题】:QCView inputKey responds to NO but crashes on YESQCView inputKey 响应 NO 但在 YES 时崩溃
【发布时间】:2010-08-24 01:08:02
【问题描述】:

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

谢谢

【问题讨论】:

    标签: cocoa boolean quartz-composer


    【解决方案1】:

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

    试试

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

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

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

    【讨论】:

    • 成功了!非常感谢您解释为什么 NO 起作用了,现在它是有道理的!
    猜你喜欢
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 2023-03-27
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多