Вам следует потратить несколько часов с Руководством по темам программирования какао-биндингов .Наилучшим подходом является использование промежуточного контроллера (например, NSObjectController, NSArrayController, NSDictionaryController или NSTreeController).
Затем подумайте: у вас всегда будет фиксированное количество каналов или вам потребуется добавлять / удалять каналы во время выполнения?
Поскольку вы не включили описание того, что такое канал, как вы его определяете (ваш собственный класс или просто какой-то базовый контейнер Какао, например словарь), или как он будет использоваться, или хотите ли вычтобы динамически добавлять / удалять каналы, лучшее, что я могу вам дать, - это самый простой возможный пример.
Простой случай
В самом простом случае (у вас есть фиксированные каналы иканал - это не более чем контейнер для некоторого значения "foo"), используйте NSDictionaryController и установите флажок "Prepare Content" (чтобы создать свой собственный словарь для хранения).Вы перетащите NSDictionaryController в свой IB XIB.К нему вы добавите такие ключи, как «channelAFoo», «channelBFoo» и т. Д., Для каждого из этих «каналов».
Добавить ползунок для каждого канала.Свяжите его с контроллером словаря с помощью ключа контроллера «selection» (по умолчанию) и пути ключа модели «channelAFoo» для ползунка канала A, «channelBFoo» для ползунка канала B и т. Д.
Более сложный случай
Более сложный случай будет включать в себя некоторый изменяемый массив (как вы подозревали) и NSArrayController с этим изменяемым массивом в качестве содержимого.Вы можете использовать коллекционное представление (NSCollectionView / Item), где ваш прототип NSCollectionViewItem содержит ползунок (и, возможно, отличное имя канала, цветовой код и т. Д., Пока вы в нем).Поскольку каналы добавляются / удаляются из вашей коллекции (делайте это через контроллер массива, чтобы он записывал изменения), для этого канала будет создана (или удалена) копия вашего прототипа, а его элементы управления будут привязаны к некоторому пути к ключу для представленного объекта (экземпляр вашего объекта «Канал»).
Заключение
Если вы хотите получить более конкретный совет, вам нужно быть более конкретным в своем дизайне инамерения.Помните, что это продвинутая технология Какао, и вы должны планировать тратить много времени на чтение документации, чтобы понять, как работает Bindings.Это поможет вам разбить ваш вопрос на более мелкие, более конкретные вопросы (чтобы ответы могли быть более обоснованными).