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?という名前のポートがありません。

QuartzComposerのメーリングリストでこの問題について質問することをお勧めします。

于 2010-09-20T02:59:36.483 に答える