Главная » Objective-C

Целочисленное  деление Objective-C

Добавлено Дата: 2 June, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Многие начинающие программисты С удивляются тому, как работает целочисленное деление. Давайте попробуем:

#include <stdio.h>

int main (int argc, const char * argv[])

{

printf("3 * 3 + 5 * 2 = %d\n", 3 * 3 + 5 * 2);

Читать »

Куча Objective-C

Добавлено Дата: 1 June, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

До сих пор в своих программах мы использовали только память, выделяемую в кадрах стека. Эта память автоматически выделяется в начале функции и автоматически освобождается в конце. (Из-за этого удобного поведения локальные переменные часто называют автоматическими переменными.)

Читать »

Цикл for Objective-C

Добавлено Дата: 1 June, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Цикл while – обобщенная структура, но программисты С часто используют циклы в своих программах по одной стандартной схеме:

инициализация

whi1e (условие) {

код

последний шаг

}

Для нее в языке С была определена специальная сокращенная завись: цикл for.

Читать »

Знакомство с Inteгface Builder

Добавлено Дата: 1 June, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

В навигаторе проекта найдите и выберите файл с именем BNRDocuтent.xib. Когда в навигаторе проекта выбирается файл с расширением.xib (ХМL-документ Interface Builder), в панели редактора открывается Interface Builder макетной сеткой.

В данный момент на сетке находится всего один объект представления – объект окна. Это экземпляр NSWindow, к которому мы вскоре добавим другие объекты представлений.

Читать »

Наследование Objective-C

Добавлено Дата: 31 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

При создании класса Person мы объявили его субклассом NSObject. Это означает, что каждый экземпляр Person будет содержать методы и переменные экземпляров, определенные в NSObject, а также методы и переменные экземпляров, определенные в Person. Говорят, что Person наследует методы и переменные экземпляров от NSObject. В этом разделе мы изучим наследование более подробно.

Читать »

Связывание табличного  представления iTahDoodle

Добавлено Дата: 30 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Табличное представление отображается на экране, но оно понятия не имеет, какие данные в нем должны выводиться. Табличное представление, будучи объектом представления, не располагает никакой информацией о своих данных. Ему нужен объект, который будет использоваться в качестве источника данных. В iТahDoodle источником данных табличного представления будет экземпляр BNRAppDelegate.

Читать »

Присваивание  блока Objective-C

Добавлено Дата: 29 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Теперь присвоим значение нашей новой переменной. Значение блочной переменной всегда представляет собой набор инструкций в фигурных скобках. Включите в файл main.m следующий фрагмент:

int main (int argc, const char * argv[])

{

@autoreleasepool {

Читать »

break Objective-C

Добавлено Дата: 28 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Иногда бывает нужно прервать выполнение цикла изнутри. Предположим, мы хотим перебрать все положительные числа в поисках такого числа х, для которого выполняется условие х + 90 = х.  План действий: перебираем целые числа от 0 до 11 и

при обнаружении нужного числа прерываем выполнение цикла. Внесите изменения в программу:

Читать »

Категории Objective-C

Добавлено Дата: 28 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Категории позволяют программисту добавить новые методы в любой существующий класс. Например, фирма Apple предоставила нам класс NSString. Исходный код этого класса недоступен, но категории дают возможность добавить новые методы в NSString.

Создайте новую программу командной строки Foundation с именем VowelCounter. Затем создайте новый файл, являющийся категорией Objective-C (Objective-C category). Присвойте категории имя VowelCounting и назначьте ее категорией для NSString.

Читать »

Команда switch Objective-C

Добавлено Дата: 27 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

В программах довольно часто встречается ситуация, когда переменную требуется проверить по набору значений. С использованием команд if-else проверка будет выглядеть так:

int yeastType = …; if (yeastType == 1) {

makeBread();

} else if (yeastType == 2) { makeBeer();

Читать »

Рекурсия Objective-C

Добавлено Дата: 27 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS
 

Может ли функция вызвать сама себя? А почему бы и нет? Это называется рекурсией.

Возможно, вы слышали скучную длинную песню «99 бутылок пива». Создайте новую

программу командной строки С с именем BeerSong. Откройте файл main.c, добавьте функцию для вывода слов песни и вызовите ее из main():

Читать »

Чтение NSData из файла Objective-C

Добавлено Дата: 26 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Экземпляр NSData также можно создать на основе содержимого файла. Включите в программу две строки:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])

{

@autoreleasepool {

NSURL *url = [NSURL URLWithString: @"http://www.google.com/images/ logos/ps_logo2.png"];

Читать »

Как функции работают друг с другом Objective-C

Добавлено Дата: 26 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Программа – это набор функций. Когда вы запускаете программу, эти функции копируются с жесткого диска в память, процессор находит функцию с именем main и выполняет ее.

Вспомните,  как  мы  сравнивали  функцию  с  карточкой  рецепта.  Начиная

выполнять рецепт «Печеная курица», я могу обнаружить, что вторая инструкция требует «Приготовить панировку»; о том, как это сделать, объясняется на другой

Читать »

Вспомогательные  объекты Objective-C

Добавлено Дата: 26 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Таймеры просты. Они умеют делать только одно: срабатывать в нужный момент. Поэтому модель «приемник/действие» хорошо подходит для них. Многие простые элементы пользовательского интерфейса (такие, как кнопки и шкалы) тоже используют механизм «приемник/действие». А как насчет чего-то более сложного?

Читать »

Делегат приложения Objective-C iTahDoodle

Добавлено Дата: 26 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

При запуске приложения iOS производится инициализация, незаметная для пользователя. В этой фазе создается экземпляр UIApplication, который управляет состоянием приложения и обеспечивает связь с операционной системой. Также создается экземпляр BNRAppDelegate, назначаемый делегатом экземпляра UIApplication (отсюда и термин «делегат приложения» ).

Читать »