Я новичок в Cocoa и разрабатываю одно обычное настольное приложение Cocoa в Xcode 4.5. У меня есть требование отображать значения в NSComboBox
, и я должен получить из NSComboBox
, но ограничение состоит в том, что я не должен делать привязки к IBOutlet
.
Если мы хотим, чтобы нам нужно было использовать контроллеры массива, мы можем использовать NSArrayController
s, но не IBOutlet
s.
Кто-нибудь предложит мне, как выполнить эту задачу без использования IBOutlet
s.
Я не хочу использовать IBOutlet
s из-за:
Это уменьшает код: предположим, что у нас есть 15 текстовых полей в пользовательском интерфейсе, поэтому вам нужно иметь 15
IBOutlet
s (если вы работаете над небольшим проектом, вы можете иметь его, но когда мы реализуем проект большего размера, вы можете в конечном итоге создать тонныIBOutlet
s, который не делает ничего, кроме помощи в доступе к значению из текстовых полей.Если вы используете привязку, а не
IBOutlet
, обработка пользовательского интерфейса проста. Предположим, у вас есть одна таблица со связанным arrayController. Когда массив изменен, который вы связали с контроллером массива, автоматически изменения отразятся в tableView, вам не нужно беспокоиться об обновлении tabelView, если мы используемIBOutlet
, нам придется выцарапать голову, чтобы обновить содержимое. Всякий раз, когда данные изменяются, которые мы отображаем в tableView.Облегчает жизнь разработчика: если мы используем привязки, любые изменения, происходящие в объекте привязки, немедленно отражаются в пользовательском интерфейсе, нам не нужно беспокоиться об обновлении пользовательского интерфейса.
Простой для понимания код: если мы используем
IBOutlet
s без необходимости, мы в конечном итоге напишем код для обработки представлений, обновления представлений и т. д., если мы используем привязки автоматически, он обновляется.
По мне. Хорошая практика, если мы используем привязки.
IBOutlet
s просто увеличивают длину кода.
Заранее спасибо...