0

我在使用 MacRuby 和 Cocoa 设置值时遇到了一些问题。我已将 QCView 和 QCPatchController 插入 XIB 并将组合加载到 QCPatchController 中。一切都在运行,但我无法访问 QCView 上发布的输入。

attr_accessor :myQCView #this is bound to the QCController

...
def AppController

txt = "I did it"  
@myQCView.setValue(txt, forKeyPath:"patch.text.value")  

end

我收到一个错误:

NSUnknownKeyException: [<NSNull 0x7fff7115e000> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key value. (RuntimeError)

我难住了。我曾尝试搜索 MacRuby 论坛,但没有运气。

谢谢你的建议

4

1 回答 1

0

阅读异常消息:

NSUnknownKeyException: [<NSNull 0x7fff7115e000> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key value. (RuntimeError)

为什么要尝试设置valueNSNull 对象的键?

让我们看一下代码。你想设置什么value键?

@myQCView.setValue(txt, forKeyPath:"patch.text.value")  

我明白了:您的 QCView 的patch.text.

因此,您的 QCViewpatch.text是一个 NSNull 对象。

attr_accessor :myQCView #this is bound to the QCController

那么,这不是变量的准确名称。我建议使用“<code>myQCPatchController”,或者只是“<code>patchController”。

所以现在看起来您正在尝试设置text根补丁的端口值。也许根补丁实际上没有一个名为 的端口text

你可能想在 Quartz Composer 邮件列表上询问这个问题。

于 2010-09-20T02:59:36.483 回答