Урок 1. Введение • Краткая история развития языков программирования
• Краткая история компании Apple и почему следует изучать программирование под iPhone/iPad
• Введение в Objective C
• Перечисление ключевых отличий от языков Java и C++
• Знакомство со средой XCode4. Как скачать, установить и запустить
• Знакомство с основными окнами среды.
• Понятие файла заголовка и файла тела программы. main – главная функция в приложении
• Консольное приложение Hello World
Урок 2. Типы данных • Типы данных в C и Objective C
• Объявление переменных и их инициализация
• Константы и ключевое слово #define
• Объявление typedef
• Основные операторы: арифметические, логические, битовые, строковые
• Объяснение общей этимологии булевых и числовых типов данных
• Работа с символами и строками
• NSString и ее креаторы (без объяснения принципов ООП)
• Способы форматирования строковых данных
• Функция NSLog
Урок 3. Управление процессом выполнения программы • Основы процедурного программирования
• Ветвления и основные логические операторы, правила составления логических выражений
• Циклы и их разновидности
• Объявление функции
• Ветвления (в коде)
• Хорошие и плохие названия
• Рекурсия
• Включение других исполняемых файлов с помощью утилиты #include
• Составление консольной программы использующей все пройденные конструкции языка
Урок 4. Введение в управление памятью и ООП • Понятие структуры и способы обращения к данным в ней
• Введение в управление памятью
• Объяснение Runtime среды и ее отличие от классических компиляторов
• Ключевые слова alloc, release, retain
• Классы и объекты
• Конструктор объекта
• Понятие пустой ссылки на объект и особенности работы с ним в Objective C
Урок 5. Продвинутое ООП • Инкапсуляция
• Наследование
• Полиморфизм
• Методы класса и методы экземпляра
• Понятие свойств объекта и ключевые слова @property и @synthesize
• Понятие соглашений конструктора и деструктора
• Объяснение способа освобождения данных внутри объекта и функции dealloc
• Понятие категории и протокола
• Сокрытие функции и модификаторов доступа внутри категории
Урок 6. Продвинутое ООП и управление памятью • Соглашения языка о наименованиях функции и класса
• Расширенное объяснение механизма подсчета ссылок
• Классические коллекции
• Оболочки в Objective C
• Навигация внутри коллекций
• Краткое объяснение формата XML и его роль в Objective C
• Работа с файлами
• Понятие сериализации. Сохранение и чтение данных массива в файл
• Шаблоны программирования
Урок 7. Знакомство со средой COCOA • Среда Cocoa
• Шаблона Delegate и Singleton как основной шаблон среды Cocoa
• Основные классы среды и их диаграмма
• Подробнее и строках и классе NSString
• Пояснение работы с сообщениями
• Понятие селектора
• Понятие KVO (подход к программированию ключ/значение)
• Рассылка широковещательных уведомлений с помощью NSNotificationCenter
• Observer и KVO
• Введение в оконные приложения
• Основные типы пользовательского интерфейса
Урок 8. Закрепление пройденного • Редактор интерфейса
• Что такое nib файл
• Эмулятор iPhone/iPad
• Основные классы пользовательского интерфейса iPhone
• Понятие об MVC
• Таблицы как каркас для построения интерфейса и класс UITableView
• Контроль навигации UINavigatorControl
• Написание простого приложения хранения рецептов под iPhone
• Отладка и поиск утечек памяти
• Информация для самостоятельного обучения