2010-09-19 4 views
0

Je rencontre des problèmes avec les valeurs de réglage en utilisant MacRuby et Cocoa. J'ai inséré le QCView et le QCPatchController dans le XIB et chargé la composition dans QCPatchController. Tout est en cours mais je ne peux pas accéder aux entrées publiées sur QCView.Problèmes forKeyPath avec Quartz Composer et MacRuby

attr_accessor :myQCView #this is bound to the QCController 

... 
def AppController 

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

end 

Je reçois une erreur:

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

Je suis perplexe. J'ai essayé de chercher sur les forums MacRuby mais je n'ai pas eu de chance.

merci pour vos conseils

Répondre

0

Lire le message d'exception:

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

Pourquoi voudriez-vous essayer de définir la value clé d'un objet NSNull?

Regardons le code. Quels sont vous essayez de définir la clé value de? Je vois: Votre QCView est patch.text. Ainsi, le patch.text de votre QCView est un objet NSNull.

attr_accessor :myQCView #this is bound to the QCController 

Ce n'est pas un nom précis pour la variable, alors. Je suggère "myQCPatchController", ou simplement "patchController".

Il semble donc que vous essayez de définir la valeur du port text du correctif racine. Peut-être que le correctif racine n'a pas de port nommé text?

Vous voudrez peut-être poser des questions sur ce problème sur the Quartz Composer mailing list.

+0

Salut Peter, merci pour la réponse. J'ai eu de l'aide du forum de développement de macruby et j'ai eu le mauvais objet lié. J'avais lié le QCController quand j'avais besoin de lier le QCView (d'où le nom de la variable). Mon autre problème était le @. Le code qui fonctionnait était myQCView.setValue (txt, forKeyPath: "patch.text.value". – tsugua