Кодовое взаимодействие с кварцевой композицией
У меня есть Кварцевая Композиция с Кубом, и опубликованы входные данные вращения 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, так что вы можете смело объявить его таковым.)