Кодовое взаимодействие с кварцевой композицией

У меня есть Кварцевая Композиция с Кубом, и опубликованы входные данные вращения X/Y/Z. На Интерфейсном Разработчике я сделал QCView и QCPatchController с предыдущей загруженной кварцевой композицией. В QCView контроллер исправлений привязан, а опубликованные порты ротации тоже привязаны к трем NSSliderпоэтому, когда я изменяю значение NSSlider's затем куб вращается.

Все это прекрасно работает, но я хочу изменить значения вращения куба из приложения "Делегат" в XCode. Я пытался изменить значение NSSliders с IBOutlets, указывающими на них, но это изменение не относится к кубу, как это происходит, когда я изменяю Ползунки непосредственно с помощью мыши.

Что я должен создать и / или как получить доступ и изменить это Input_Ports.value через CQPatchController?

Большое спасибо за чтение, мне действительно нужна помощь!

1 ответ

Это на самом деле довольно просто! Патч-контроллер будет принимать KVC setValue:forKeyPath: просто хорошо. (Требуемый путь ключа, вероятно, будет выглядеть patch.Input_Ports.value.)

Чтобы подключиться к контроллеру патчей, вам нужно добавить выход к делегату вашего приложения. В файле.h делегата приложения добавьте переменную экземпляра IBOutlet NSObjectController* patchController,

IBOutlet ничего не делает для компилятора, но сообщает Interface Builder, что выход есть. Добавив эту строку, вы сможете вернуться в Interface Builder и перетащить управление из делегата приложения на контроллер исправлений, тем самым подключив выход patchController к конкретному экземпляру в файле.nib.

(Для QCPatchController нет файла.h, но это подкласс NSObjectController, так что вы можете смело объявить его таковым.)

Другие вопросы по тегам