ПРОГРАММИРОВАНИЕ ПОД IPHONE, IPAD OBJECTIVE-C Часть 1

Компиляция и Запуск программ

Прежде чем приступить к этому уроку — рекомендую ознакомиться со всеми предыдущими уроками, а так же с примером Создание первого приложения Hello world. Давайте используем накопленные знания и когд, с предыдущих уроков, который пока что, не больше чем читаемый текст.

Давайте создадим проект на основе представления (View-based Application) и присвоим ему имя MyApplication. Как я уже писал выше, инструкцию по созданию своего приложения можно посмотреть в примере Создание первого приложения Hello world. Выглядеть все должно примерно так:

Теперь откройте MyApplicationViewController.m затем найдите и раскомментируйте метод — (void)viewDidLoad. Поместите объявление функции circleArea перед этим методом. Поскольку в нашей программе уже присутствует функция main, а в проекте такая функция должна быть только одна — тело нашей функции мы поместим в методе — (void)viewDidLoad после строки [super viewDidLoad];. А саму функцию circleArea после метода — (void)viewDidLoad. Результатом перестановок должен быть следующий код:

<code data-result="[object Object]">float circleArea(float theRadius);

- (void)viewDidLoad
{
    [super viewDidLoad];

    float pictureWidth, pictureHeight, pictureSurfaceArea, 
    circleRadius, circleSurfaceArea;
    pictureWidth = 8.0; 
    pictureHeight = 4.5; 
    circleRadius = 5.0;
    pictureSurfaceArea = pictureWidth * pictureHeight; 

    circleSurfaceArea = circleArea(circleRadius);

    NSLog(@"%f", circleSurfaceArea);
}

float circleArea(float theRadius)
{
    return (3.14159 * theRadius * theRadius);
}</code>

Как вы заметили, я добавил в тело функции еще одну строку, она нужна для вывода результата на экран. Теперь вы можете запустить этот проект и увидеть результат:

На картинке результат обведен красной линией. Если у вас по какой-то причине не открылось окно результата — вы всегда можете нажать на кнопку Hide or show the Debug area (обведенная зеленой линией).

На самом деле приведенный выше код относится к языку С, а не Objective-C, но поскольку язык Objective-C является расширением языка С — наш код выполняется успешно и без ошибок. Я считаю это очень важным моментом в программировании под iOS. В процессе создания собственных программ мне часто приходилось сталкиваться с фреймверками написанными именно на языке С, без элементарных знаний этого языка было бы трудно разобраться в работе чужого кода… Но давайте приведем наш код к более дружественному виду с iOS:

<code data-result="[object Object]">- (void)viewDidLoad
{
    [super viewDidLoad];

    CGFloat pictureWidth, pictureHeight, pictureSurfaceArea, 
    circleRadius, circleSurfaceArea;
    pictureWidth = 8.0; 
    pictureHeight = 4.5; 
    circleRadius = 5.0;
    pictureSurfaceArea = pictureWidth * pictureHeight; 

    circleSurfaceArea = [self circleArea:circleRadius];
    NSLog(@"%f", circleSurfaceArea);
}

- (CGFloat)circleArea:(CGFloat)theRadius {
    return (3.14159 * theRadius * theRadius);
}</code>

В написанном выше коде отсутствует объявление функции circleArea. Это связано с тем, что я перенес объявление этой функции в «хэдэр» (MyApplicationViewController.h) класса MyApplicationViewController. Теперь он выглядит так:

<code data-result="[object Object]">#import &lt;UIKit/UIKit.h&gt;

@interface MyApplicationViewController : UIViewController {

}

- (CGFloat)circleArea:(CGFloat)theRadius;

@end</code>

Повторный запуск проекта не приведет к изменениям.

Исходный код находится здесь.

Comments are closed.