Проблемы с KeyPath с помощью Quartz Composer и MacRuby - PullRequest
0 голосов
/ 20 сентября 2010

У меня возникли проблемы с настройкой значений с помощью 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, но мне не повезло.

спасибо за ваш совет

1 Ответ

0 голосов
/ 20 сентября 2010

Прочитать сообщение об исключении:

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

Почему вы пытаетесь установить ключ value объекта NSNull?

Давайте посмотрим на код. Что вы пытаетесь установить для ключа value?

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

Понятно: ваш QCView patch.text.

Итак, patch.text вашего QCView - это объект NSNull.

attr_accessor :myQCView #this is bound to the QCController

Тогда это не точное имя переменной. Я предлагаю «myQCPatchController» или просто «patchController».

Теперь похоже, что вы пытаетесь установить значение порта text корневого патча. Возможно, у корневого патча нет порта с именем text?

Вы можете спросить об этой проблеме в списке рассылки Quartz Composer .

...