Возможно, в данной доли я поведаю вам о средствах исследования прибавлений под Mac OS X Leopard. Кроме того спокойно скажу незамедлительно, что буду быстро осматривать исключительно те, которые предоставляются лично Apple. Казалось, другие IDE есть, хотя они по-хорошему традиционно кроссплатформенные (к примеру Code::Blocks), и грубо говорить о их лучше в данной заметке.
Так вот, на диске с Лео следует инструментарий создателя Mac OS X - набор взаправду важных программ и фреймворков для существа прибавлений. Разумеется устанавливается это все дело(приложения, документация, множество образцов, очень-очень различные напросто нужные утилиты, etc.) в папку /Developer.
Однако, после установки крайне имеет 4 главных прибавления для исследования:
2. Interface Builder - программа для творения интерфейсов прораммы, предварительно желая ее способности куда шире
3. Instruments - средство для слежения за програмкой
4. Dashcode - программа для творения виджетов для Dashboard
А сейчас про данные прибавления подробнее:

Xcode - довольно-таки главная среда исследования, все есть, что и положено для IDE. Во всяком случае спокойно расписывать все функции нет очень-то специального толку, так как она не крепко выделяется от Visual Studio или же KDevelop. А вот про нововведения в версии 3.0 осторожно упомянуть стоит:
1.подсветка блоков кода:

2. сворачивание(folding) блоков кода(наконец-то)
3. улучшеный(в сторону скорости работы) редактор кода

6. Research Assistant - ассистент, который отталкиваясь от совершенно выделенного слова официально хочет самостоятельно обнаружить особенно пригодную заметку в Help и выводит очень в собственном окошке

7. показ погрешностей, предостережений, etc напрямик в коде:
8. снимки плана. Быть может очень очень-очень комфортная вещь, по нажатию кнопок Ctrl+Command+S вполне нынешний проэк сберегается очень в отдельное место, и позже станет возможно к нему возвратятся, когда чего-нибудь намудрил, при этом для любого файла долго видится разница в то же время что было и что стало:

9. Наконец, органайзер. Кажется, насколько я долго взял в толк, данное инструмент для управления тысячи планов, помимо прочего спокойно дает возможность правильно использовать Xcode для написания программ воистину на неведомых языках ему. Надеюсь сам еще совершенно не разбирался что данное, хотя хладнокровно обнаружил заметку, в какой сообщается про органайзер подробнее.

Таким образом, тщательно скрывать не буду и мысленно заявлю незамедлительно, что IB - лучший из лучших инструмент для творения интерфейсов из мною широко опробованных. Так вот, и не совсем только поскольку вполне несложные и ненамного ясные интерфейсы в нем просто долго делать, посему, что IB данное что-то наибольшее нежели редактор интерфейсов, с его поддержкою можнож избавится от написания множества долей кода, связанных с интрефейсной долею. Кстати, спокойно звучит окончательно не ясно, хотя на случае станет гораздо светлее(образцы станут в конце).
Пожалуй, для чего же ведь употребляется IB в ходе творения программы? Только для раскидывания кнопочек по форме - нет. Вероятно, одна из главных задач IB - связывать объекты приятель с ином, Просто-напросто с переменными в классе, Вправду с различными событиями и т.д.

Instruments - средство для слежения за прибавлениями. Говорят, построен на порте под Mac OS X “DTrace tracing framework” из OpenSolaris. В конце концов, само слежение проходит при помощи взаправду отдельных приборов, которые сберегаются в библиотеке и при потребности перетаскиваются в основное окошко. В общем изначально давно в наличии напросто большое количество приборов, к примеру инструмент для слежения воистину за сетевой активностью, загрузкой процессора, чтения-записи на диск. Наверно, если подходящего прибора не хватает, то возможно его сознательно сделать лично:

К счастью, я правильно мыслю из наименования ясно для чего же уготована данная программа, а конкретно - существа виджетов для Dashboard. В самом деле баловался программой не длинно, процесс творения виджета смутно припомнил работу в Macromedia Flash. Видимо вот устроил виджет для чтения rss хабра за секунд 10:

Действительно как я и сулил, Особенно в настоящий момент мы умышленно сделаем очень-очень несложное прибавление. По-видимому что оно станет правильно делать? После ввода слова в поле редактирования и нажатия Enter выводить введенный текст на поле надписи(label). Более того сурово предупрежу, что не буду слишком досконально долго говорить отчего что-нибудь надобно устроить как раз так, мат.часть скоро пойдет позже, В общем-то в настоящий момент - совсем несложное существо прибавления в отсутствии отчасти излишних вопросцев.
С другой стороны итак нервно начнем:
хладнокровно открываем Xcode и честно избираем в рационы File => New Project, Комично в появившемся окошке справедливо отмечаем “Cocoa Application” и давим Next:

Короче говоря, далее хладнокровно установим фамилия плана - habr_1 и где он станет сберегается(у меня ~/xcode/habr_1/):

после данного нажмем Finish и предварительно получим план. Напротив теперь нам надо спокойно прибавить класс, который станет воплотить то, что нам надо. Оказалось, что для данного немедленно идем в рационах File => New File… и спокойно избираем Objective-C class и нажимаем Next. Ну что ж столь в последующем окошке нас покорно попросят задаять фамилия файла, и подробно пишем “controller”:

А теперь теперь в окошке плана слева в папке Classes обнаруживались 2 файла: controller.h и controller.m. Естественно, самостоятельно откроем controller.h и пропишем также, что и на иллюстрации:

Стало быть теперь дважды кликнем по файлу MainMenu.nib, тихо раскроется Interface Builder и будет слишком энергичным. В сущности что мы видим: болванку под окошко, основное рационами и окошко, означающее что мы самостоятельно открыли MainMenu.nib. И все же нажмем в рационам Tools => Library дабы самостоятельно открыть библиотеку с объектами и Tools => Inspector дабы нарочно созидать качества данных самых объектов. Несомненно теперь нам нужно сердито прибавить в MainMenu.nib объект, который станет самостоятельно представлять сознательно сделанный нами класс “controller”, и в библиотеке обретаем объект NSObject(ненамного синий самостоятельно просвечивающий кубик) и перетаскиваем его в окошко с надписью MainMenu.nib:

Следовательно переименуем “Object” в “controller” для ясности. И действительно теперь надо тихо пояснить данному кубику, что он спокойно дает совсем необходимый нам класс. Так или иначе для данного долго оставляя его по-своему интенсивным переходим на вкладку “Identity”(вторя справа) в инспекторе и в выпадающем перечне наоборот надписи “Class” специально подбираем наш “controller”:

Видите ли теперь насмешливо добавим на форму из Библиотеки поле редактирования и метку. По крайней мере для поля редактирования на вкладке “Attributes”(первая слева) в выпадающем перечне наоборот надписи “action” нарочно подберем “Sent On Enter Only”. Оказывается должно отлично выйдет приблизительно это:

Тем не менее а и уже обычно наступает нельзя хладнокровно не отметить, нам следует хладнокровно связать просто-таки переменную “label” из класса однозначно с ловкой и самостоятельно установить “setText:” в виде известия, которое мысленно высылает текстовое поле при завершении редактирования. Собственно успешно свяжем метку весьма с переменной label: устроим однозначно энергичным наш объект “controller”, зажмем Ctrl и левую клавишу мыши над голубым кубиком и спокойно перенесем курсор на нашу метку, увиди следующюю картину:

после отпускания лкм бывать самостоятельно замеченным вот это окошко(в нем станут все в общем-то классовые поистине переменные, которые по принципу в общем-то схожи с тем, к чему мы быстро хотим умышленно связать):

специально подбираем в нем прямо-таки единственную запись label. И в самом деле все, и уже мы добровольно связали класовую очень-то переменную label и нашу метку на форме. Между прочим связывание полz редактирования спокойно с высылаемым ей известием проходит и еще, лишь перетягивать надобно с кубика на поле, а напротив - с поля редактирования на объект controller.
Наоборот все, явно храним MainMenu.nib(File => Save) и обратно возвращаемся в Xcode.
Мало того в Xcode самостоятельно раскрываем файл controller.m и обрисовываем реализацию известия:

Короче, сохраняем план, давим Build and Go и регулярно получаем налицо готовое прибавление:

По правде говоря, введем чего-нибудь в поле редактирования и нажмем Enter, вот итог:

А кроме того а на данный момент я добросовестно продемонстрирую вам как IB крайне имеет возможность прилично облегчить жизнь и число кода. Одним словом специально создадим практически прибавление(практически поскольку откомпилировать в настоящее прибавление). Судя по всему что оно станет правильно делать? Выводить состояние слайдера в поле редактирования и иметь клавишу для погашения.
К тому же итак неожиданно начнем. Не правда ли добросовестно откроем Interface Builder, File => New, специально подбираем “Window” и клацаем “Choose”, постоянно получаем окошко “Untitled”, означающее наше окошко и болванку окошки, мягко кидаем на нее отчасти горизонтальный слайдер, поле редактирования и клавишу, при этом в свойствах браним ее “Close”:

Как ни странно теперь проводим взаимосвязь _от слайдера_к_полю_редактирования_, опосля отпускания лкм в выпадающем перечне специально подбираем “takeDoubleValueFrom:”:

Допустим воистину аналогично успешно свяжем клавишу с событием terminate: объекта “First Responder” из окошки “Untitled”(поистине красненький кубик с единичкой).
Удивительно, что теперь File => Simulate Interface, постоянно получаем образец вполне трудоспособного прибавления: при изменении положения слайдера постоянно меняется количество в поле редактирования, при нажатии на Close прибавление постепенно закрывается.
То есть вот так просто можнож суждено спасти себя от написания почти всех строчек кода.
Подумать только, а коль скоро кто еще не удостоверился в данном, то понаблюдаете данное видео. Собственно говоря, в нем сам ОН(, не RMS) повествует и самостоятельно демонстрирует всю сила Interface Builder(правда перед данным мин. 30 пиара NextSTEP):
Вы должны быть зарегистрироавны чтобы оставить комментарий.