Самый простой способ показать два элемента NSTableView из кода? - PullRequest
0 голосов
/ 06 декабря 2011

Как я могу создать код в XCode 4.2.1, что создаст NSTableView и добавит в него всего пару элементов?

Все, что я хотел сделать, это: 1) Окно, где находится NSTableView 2) У меня есть массив строк в NSArray, который я хотел бы показать в этом NSTableView 3) Все это должно быть сделано в коде. Поэтому я не хочу узнавать, как добавить это действие, когда вы нажимаете кнопку (я уже знаю, как выполнять действия, когда пользователь нажимает кнопки и т. Д.), Я просто хочу, чтобы это приложение запускалось -> рисовало таблицу, где находятся эти элементы из моего массив. Вот и все, больше ничего.

И да, я понял, что не добавляю элементы непосредственно в NSTableView. Это не главное в этом вопросе. Я просто имею в виду, что хочу показать пару элементов в этой таблице, но у меня нет никакой подсказки, ГДЕ я должен добавить свои данные из моего массива.

Я часами пытался гуглить, например, страницы (слишком много и не нашел помощи), но я всегда буду застревать в этой части, когда а) Я должен что-то сделать в Интерфейсном Разработчике, и образы Интерфейсного Разработчика из версии 2.x или 3.x, и у меня есть 4.2.1, и это совершенно другое (новинка для XCode ...). Конечно, я нарисовал свой элемент TableView в пользовательском интерфейсе, но я имею в виду делегирование и т. Д. Это вообще необходимо? Могут ли они быть сделаны из исходного кода? б) Код просто больше не работает, потому что язык (Какао или Objective-C, я не знаю) изменился, и я не знаю, как и что мне нужно сделать, чтобы он работал на новейшей версии XCode. c) Слишком много разных способов сказано: «использовать привязку», «вы должны создать новый класс, который является NSTableViewDataSource» и т. д. У меня нет никакой подсказки, что является предпочтительным способом, является ли другой способ необязательным или это «вы должны использовать» это потому, что другой скоро устареет "или что-то в этом роде.

Так что, пожалуйста, кто-нибудь может помочь мне шаг за шагом, что именно я должен сделать? Должен ли я создать некоторые привязки? Если да, то как и где? Нужно ли самому создавать компонент DataSource? Эти способы действительны больше? Если я должен, как я могу создать это? Создать новый класс и реализовать его как NSTableViewDataSource, а затем использовать его? Является ли этот способ более допустимым, и если да, может ли кто-нибудь показать код, который является максимально простым?

Я также много раз проверял страницу документации Apple, проверял эти примеры кода, но есть слишком много совершенно не связанных вещей, которые я просто не понимаю на данный момент, поэтому они абсолютно бесполезны (я имею в виду, я не знать, что требуется для этой задачи, что нет и т. д.

Я был бы очень рад, если бы кто-то мог помочь в пошаговом руководстве, что делать. Я имею в виду «шаг за шагом», как: 1) Создать новый проект 2) Нарисуйте NSTableView в проекте 3) Создать новый класс с этим именем 4) Написать этот код: бла-бла-бла 5) Создайте еще один класс с этим именем 6) Написать этот код 7) Запустите и посмотрите эти элементы из массива в NSTableView, используя (bindings / datasource / что предпочитаете).

Спасибо:)

1 Ответ

1 голос
/ 06 декабря 2011

Вашему табличному представлению нужен источник данных. Ваш источник данных - это пользовательский класс, он реализует протокол "NSTableViewDataSource". Этот протокол содержит несколько методов, которые вы можете использовать, чтобы сообщить табличному представлению, какие данные вы получили.

это включает в себя objectValue (значение NSCell, которое отображает ваши данные в указанной строке, и метод, который возвращает количество строк, которое имеет табличное представление (количество элементов в вашем массиве).

Вот учебник, который я нашел в Google: CocoaDev.com NSTableView учебник

Вы также можете реализовать протокол NSTableViewDelegate , который обеспечивает больший контроль. Например, какие строки вы можете выбрать, или какая-то дополнительная настройка пользовательской ячейки табличного представления.

Я должен сказать, что в тот день, когда я начал разрабатывать настольные приложения (имел опыт работы только с веб-технологиями), этот шаблон проектирования также смутил меня. Надеюсь, вы скоро обдумаете это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...