Програмування для iphone

Програмування для iphone

Для того, щоб почати програмувати під iOS, Вам знадобиться комп'ютер Mac на базі процесора Intel і середовище розробки XCode. Якщо у Вас немає Mac-а - не біда. Можливо Вам підійде один з опісаннихв цієї статті методів вирішення цієї проблеми. Ми будемо орієнтуватися на XCode 4 і iOS5.

установка XCode

Для початку нам потрібно зареєструватись наApple-овськом dev сайті. Перейдіть по посиланню і натисніть на register. Натисніть кнопку Get Started і пройдіть процес реєстрації. Там все досить просто, тому я не буду зупинятися на цьому моменті. Після реєстрації Вам надішлють лист з вашим Apple ID. Поверніться на сторінку Apple Developers і використовуйте його для входу в захищену зону. У розділі DevCenters оберіть пункт iOS. Як бачите, Apple пропонує вам купу документації, початкових кодів та уроків. На цій сторінці є все, що потрібно для початку розробки під iOS. У самому низу є кнопка Download Xcode, яку потрібно натиснути. Після завантаження встановіть Xcode на свій Mac.

Знайомство з інтерфейсом XCode 4

Для запуску Xcode перейдіть на свій головний диск і клацнете по developer> Applications.

Програмування для iphone

Після того, як Xcode запуститься, виберіть пункт меню File> New Project, потім "Single View Application" і введіть в якості імені проекту (Product Name) HelloWorld. В результаті у вас повинно відображатися щось на зразок цього

Програмування для iphone

Програмування для iphone

Не будемо поки зупинятися на коді. Ми повернемося до цього питання трохи пізніше. Якщо Ви подивіться на верхню частину екрану, то побачите кілька кнопок, пов'язаних з Вашим проектом. Вивчимо цю панель докладніше.


Кнопка "Run" запускає ваш проект. Ви можете протестувати свій додаток і переконатися, що воно веде себе дійсно так, як ви того очікуєте. Кнопка "Tasks" зупиняє запущене застосування.

За допомогою кнопки Schemr можна вибрати цільову платформу, де буде запускатися ваш додаток. Тут ви можете вибрати який-небудь simulator, і налагоджувати програму на комп'ютері, або запустити її на своєму iPhone (iOS Device), якщо Ви заплатили збір в $ 99. Єдина перевага, яку дає цей платіж - можливість запускати програму на реальному пристрої і розміщувати її в App Store. Я б не рекомендував Вам витрачатися до того моменту, поки у Вас не буде готова нормальна програма.

Breakpoints (точки зупинки) - дуже корисна штука. За допомогою цієї кнопки ви можете відзначити в вихідному коді рядка, і коли в ході виконання програми справа дійде до поміченої рядки, програма призупиниться, і ви зможете подивитися стан змінних. Це дуже потужний і повсюдно використовується інструмент.

Натисніть кнопку "Run". Ви побачите вікно емулятора зі своїм проектом. Як бачите, поки він не блищить функціональністю - це просто заготовка.

Програмування для iPhone -Перший крок

Програмування для iphone

Перш ніж приступити до написання коду програми, я повинен а пальцях пояснити вам кілька концепцій: ООП (об'єктно-орієнтоване програмування), MVC (Modal View Controller), ".h" і ".m" файли. Отже. об'єктно-орієнтоване програмування передбачає поділ всього коду на так звані об'єкти, всередині яких зберігаються дані і обробні їх команди. Об'єкт в Objective-C складається з двох файлів .h і .m. Файл .h називається заголовком (header) в ньому міститься "нарис" об'єкта - перераховуються всі дані і назви блоків команд (методів), що містяться в об'єкті. Файл .m називається файлом реалізації (implementation) і в ньому докладно розписується все те, що вказано в заголовку саме тут програмується вся логіка програми.

MVC (Model View Controller) - це щось, що розділяє код і інтерфейс, який бачить користувач. Model - це дані користувача і дані, які ви показуєте користувачеві. View - це призначений для користувача інтерфейс і код, який забезпечує зв'язок між View і Model. Концепція MVC може зараз здатися Вам занадто незрозумілою, проте з часом Ви побачите, що цей підхід дійсно спрощує життя програміста. Ця концепція має на увазі наступний порядок роботи: програміст окремо створює шаблон дизайну додатки, де розміщує всі кнопки, текстові поля та іншу важливу дурницю, і окремо пише програм. Потім він показує XCode який метод (блок коду) повинен викликатися у відповідь на ту чи іншу дію користувача і яку назву має той чи інший елемент керування в тексті програми.

Розробляємо дизайн програми для iPhone

Програмування для iphone

У правому нижньому кутку Ви бачите список об'єктів (Library), які можна використовувати в своєму інтерфейсі, в центральній частині відображається вікно View, яке і представляє макет інтерфейсу вашої програми. Праве верхнє вікно має декілька режимів, які перемикаються за допомогою розташованих над вікном іконок. На малюнку показаний режим Atribute Inspector. Тут можна змінювати різні атрибути об'єктів, що становлять ваш інтерфейс.

Перетягнемо з вікна Library об'єкт Label на наш макет вікна. За допомогою мишки змінимо розмір об'єкта, як показано на екрані нижче. У інспектора відображаються властивості об'єкта Label. Давайте отцентріруем текст, клацнувши по відповідній іконці в рядку Layout.

Видалимо текст в поле Text (там було написано слово Label) і введемо там "Some String".

Аналогічним чином додайте на макет кнопку (об'єкт Button)

Отже, ми розробили дизайн нашого застосування. Нічого складного можете натиснути кнопку Run і подивитися на роботу своєї програми у вікні емулятора.

починаємо кодувати

Отже, у нас є два візуальних компонента розміщених на макеті. Ми хочемо щоб при натисканні на кнопку змінювався текст в рядку. Щоб реалізувати цю задумку нам знадобиться з коду програми звертатися до стороке (об'єкт Label) і викликати метод (блок коду) при натисканні на кнопку.

Клацніть по файлу "ViewController.h" в панелі зліва. Ми збираємося описати IBOutlet. IBOutlet з'єднує наш код з візуальним об'єктом, наприклад з написом (label) або кнопкою (button). Наведіть код у файлі ViewController.h до виду

Це все, що нам потрібно прописати в заголовки. IBAction дозволяє з'єднати який-небудь метод з елементом користувальницького інтерфейсу, наприклад, у відповідь на натискання кнопки буде викликаний написаний нами програмний код.

Отже, ми сказали, що будемо називати рядок з текстом label і що у відповідь на дію користувача буде викликатися метод buttonClick. Давайте напишемо код цього методу. Перемкнемося на файл ViewController.m в дереві проектів. Після рядка @ implementation. додамо код

Примітка, якщо Ви скопіювали цей код, то ймовірно при запуску програми у Вас виникне помилка, швидше за все проблема в ковичках. Видаліть їх і введіть з клавіатури.

Давайте розберемося, що ми тут бачимо. Ми звертаємося до об'єкту label - рядку тексту на екрані. Оскільки це об'єкт, у нього всередині є різні дані (які в ООП також називають властивостями об'єкта) і методи до яких можна звернутися, поставивши крапку після імені об'єкта. Властивість text відповідає за що міститься всередині рядка текст. Його ми і змінюємо на "Hello from Mobilab.ru".

Ми завершили кодування, залишилося зв'язати label і buttonClick з елементами всередині макета дизайну. Клацніть у вікні Project Navigator по рядку MainStoryboard_iPhone.storyboard, щоб переключитися в конструктор інтерфейсу. Зетем клацніть по іконці "View controller". Перейдіть на режим connections в інспектора (остання іконка). Подивіться, в інспектора в області Outlets з'явився рядок label. Це те назва, яку ми вказали у файлі ViewController.h. Клацніть по кружечку в правій частині рядка label і перетягніть його на рядок з текстом Some Text в макеті дизайну.

Програмування для iphone


Аналогічну операцію виконайте з кнопкою. Клацніть по кнопці з кружечком в групі "Received Actions", потім по buttonClick і перетягніть її на кнопку в макеті. В результаті розкриється контекстне меню, за допомогою якого можна вибрати момент виклику методу. Можна, наприклад, викликати код, коли користувач натисне кнопку, можна коли відпустить. Там багато варіантів. Виберіть "Touch up Inside".

Програмування для iphone

От і все! Зберігайте проект і клацайте по кнопці "Run" на панелі зверху. Якщо Ви Усі зробили правильно, то повинен запуститися емулятор з Вашою програмою. Клацніть по кнопці. Текст в рядку повинен змінитися. От і все. З першим уроком покінчено

Програмування для iphone