Кодинг приложений под Mac Os

Тема в разделе "Статьи", создана пользователем kori256, 30 апр 2009.

  1. kori256
    kori256 Guest
    Гы! Это моя первая статья! ​


    Сегодня мы рассмотрим основные приемы кодинга для Mac OS.
    Мы будем писать самый обыкновенный генератор случайных чисел.
    [​IMG]

    Для кодинга нам понадобится Mac OS X Developer Tools, который вы можете найти на диске вместе с Mac Os или
    скачать в интернете. Вы можете, конечно, использовать весь потенциал "Mac OS X Developer Tools", но, в основном, вам понадобится только два приложения: Xcode и Interface Builder.

    Итак, открываем xcode.
    Наверху мы видим заголовок File. Нажимаем и создаем новый проект File -> New project.

    Далее у нас есть выбор типа проекта, мы выберем Cocoa Application.
    [​IMG]

    Затем пишем имя проекта, например, "RandomApp"


    Итак, мы видим перед собой "Скелет" нашей будущей программы.. Нажмем "Build and Go", чтобы запустить нашу
    программу..
    [​IMG]
    Запустив программу, мы можем увидеть
    [​IMG]

    Основная функция
    Нажмите Editor, чтобы можно было удобнее работать с кодом программы.
    Слева вы можете увидеть пункт Resources, в котором есть файл MainMenu.nib.
    Дважды щелкните по нему, чтобы открыть в Interface Builder
    [​IMG]


    Interface Builder позволяет создавать и редактировать объекты пользовательского интерфейса (например, для окон и
    кнопок), и сохранять
    эти объекты в файл. Вы также можете создавать пользовательские классы и связи между
    ними, или стандартный пользовательский интерфейс объектов.


    Создание Интерфейса.


    Откройте Library в пункте window -> Library.

    [​IMG]

    Во вкладке Cocoa вы можете найти пункт Views & Cells. Нажав на неё, вы можте увидеть множество объектов.

    Нас интересует "Rounded Rect Button". Зажмите объект левой кнопкой мыши и перетащите его в окно нашей будущей программы. Двойной клик по кнопке позволит вам изменить заголовок этой кнопки. Дайте ему название "Seed random

    number generator using time" (вообще то можно любое )
    Создайте под этой кнопкой еще одну и дайте ей название "Generate random number".
    Затем, найдя в главе "Views & Cells" подглаву "Input & Values" перейдем в нее и найдем там "Label". Также

    переместим его в наше окно.
    У нас должно появиться что то вроде этого

    [​IMG]


    Сделаем окно меньше, внизу есть ползунок, чтоб было красивее.

    И центрируем текст "Label".Чтобы его центрировать заходим в "Tools" и находим там "Attributes Inspector".

    Нажимаем на "Label" И в свойствах жмем кнопку центрирования.

    У нас должен получиться вот такой интерфейс

    [​IMG]

    Все, с интерфейсом будущей программы мы закончили.


    В Objective-C, каждый класс определяется двумя файлами: файлом заголовка и файлом реализации.

    Файл заголовка объявляет переменные и классы. Файл реализации определяет то, что эти методы делают.


    Теперь вернитесь в xcode и выберите File->New File и создайте новый Cocoa -> Objective-C class.
    Дайте новому файлу имя Foo.m
    [​IMG]

    Файлы Foo.h и Foo.m появятся в вашем проекте. Если они не появляются в группе Classes, перетащите их
    туда вручную.

    В Foo.h, вы будете добавлять, например переменные и методы класса.

    Изменим Foo.h добавив в него следующий код:
    PHP:
    #import <Cocoa/Cocoa.h>
    @interface Foo : NSObject {
        
    IBOutlet NSTextField *textField;
    }
    -(
    IBAction)seed:(id)sender;
    -(
    IBAction)generate:(id)sender;
    @
    end
    [​IMG]
    Сохраните Foo.h


    Вернемся к Interface Builder.

    Заходим в Library. В Cocoa заходим в Objects & Controllers и выбираем Object (NSObject).

    Перетаскиваем его в MainMenu.nib, как показано на рисунке

    [​IMG]


    В Identity Inspector, установите класс этого файла как Foo. (Ваши действия должны появиться в Identity Inspector.

    Если они не появятся, то еще раз проверьте файл Foo.h на наличие ошибок).

    [​IMG]

    Теперь свяжем наши действия с объектами..
    Нажмите правой кнопкой мыши на "Label", вы увидите надпись "textField" и кружочек напротив нее..
    Зажмите левой кнопкой мыши этот кружок и перетащите его к window
    [​IMG]

    Повторите то же самое и для кнопок "Seed random number generator using time" и "Generate random number" как

    показано на рисунках

    [​IMG]

    [​IMG]

    сохраним и снова возвратимся в xcode.

    Теперь изменяем файл Foo.m

    вставим в него следующий код..

    PHP:
    #import "Foo.h"
    @implementation Foo
    - (IBAction)generate:(id)sender
    {
        
    // Generate a number between 1 and 100 inclusive
        
    int generated;
        
    generated = (random() % 100) + 1;
        
    NSLog(@"generated = %d", generated);
        
    // Ask the text field to change what it is displaying
        
    [textField setIntValue:generated];
    }
    - (
    IBAction)seed:(id)sender
    {
        
    // Seed the random number generator with the time
        
    srandom(time(NULL));
        [
    textField setStringValue:@"Generator seeded"];
    }
    @
    end
    сохраняем все и теперь пытаемся запустить. Жмем Build and Go, если у нас появилось сообщение об ошибке, то надо

    еще раз все проверить, особенно файлы Foo.h и Foo.m. Если сообщения нет, и программа запустилась, значит все

    нормально и работает!!

    Удачи вам всем..


    (с)kori256 специально для xaker.name и antichat.ru


    Добавлено через 9 часов 31 минуту
    Исправил ошибки, а то слишком много опечаток было...
     
    Последнее редактирование модератором: 1 май 2009
    30 апр 2009
    2 пользователям это понравилось.
Загрузка...