Главная » iPhone

Документация разработчика Objective-C

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

В предыдущей главе я привел некоторые полезные сведения о классе NSArray. Когда вы начнете программировать без моей помощи (хотя бы при выполнении упражнений из этой книги), вам придется искать информацию самостоятельно. В этом нам поможет электронная документация от Apple.

Читать »

Цикл do-while Objective-C

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

Крутые парни не используют цикл do-­‐while, но для полноты картины следует упомянуть и его. Цикл do-­‐while не проверяет выражение, пока блок не будет выполнен. Таким образом, блок всегда будет выполнен хотя бы один раз.

Если переписать исходную программу так, чтобы в ней использовался цикл do-­‐

Читать »

Программирование функций с передачей аргументов по ссылке Objective-C

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

Положение точки на плоскости обычно определяется в одной из двух систем координат: декартовой или полярной. В декартовых координатах запись (х,у) обозначает смещение вправо на х и вверх на у от начала координат. В полярных координатах запись (theta, radius) обозначает поворот влево на theta радиан со смещением на расстояние radius от начала координат.

Читать »

Для любознательных: ручной подсчет ссылок и история ARC Objective-C

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

Как упоминалось в начале главы 19, до появления в Objective-C механизма автоматического подсчета ссылок ARC (Automatic Rеfегепсе Counting) использовался ручной подсчет ссылок, при котором владельцы изменялись только при явной отправке объекту сообщения, уменьшавшего или увеличивавшего счетчик ссылок.

Читать »

Глобальные переменные Objective-C

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

Вместо   #define программисты   Objective-C   обычно   используют   для   хранения постоянных значений глобальные переменные.

Давайте  дополним  нашу  программу.  Класс  с  именем  NSLocale содержит

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

Читать »

Вещественные числа Objective-C

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

Для хранения числа с дробной частью (например, 3.2) используются вещественные типы (также называемые типами с плавающей запятой). Обычно программисты рассматривают вещественные числа как мантиссу, умноженную на 10 в степени целочисленной экспоненты. Например, число 345.32 рассматривается как 3.4532 х 10. Собственно, именно так эти числа хранятся: в 32-разрядном вещественном числе 8 разрядов выделяются для хранения экспоненты (целое со знаком), а 23 разряда выделяются для хранения мантиссы; еще один разряд используется для хранения знака.

Читать »

Объекты Objective-C

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

Во многих языках программирования поддерживается концепция объектов. Объекты, как и структуры, содержат некоторые данные. Однако в отличие от структуры, объект также содержит набор функций для работы с этими дан- ными. Чтобы вызвать такую функцию, следует отправить объекту сообщение. В объектной терминологии функция, вызываемая при помощи сообщения, называется методом.

Читать »

Обратный вызов Objective-C

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

До настоящего момента всем распоряжался ваш код. Он отправлял сообщения стандартным объектам Foundation (скажем, экземплярам  NSString и NSArray) и отдавал им приказы. До настоящего момента ваши программы выполнялись и завершались за считанные миллисекунды.

Читать »

Управление  памятью Objective-C

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

Блоки, как и примитивные переменные, создаются и хранятся в стеке. Следовательно, блок уничтожается вместе с кадром стека при возврате управления функцией или методом, где этот блок создается. Однако в некоторых ситуациях бывает нужно, чтобы блок продолжал существование и после выхода – на- пример, он может быть переменной экземпляра объекта. В таком случае блок необходимо скопировать из стека в кучу.

Читать »

BNRAppDelegate iTahDoodle

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

Создавая ваш проект по шаблону Empty Application, Xcode создает за вас всего один класс: BNRAppDelegate. Класс «делегата приложения» является отправной точкой для создания приложения; такой класс присутствует в каждом приложении для iOS. BNRAppDelegate существует в одном экземпляре, который отвечает за обработку событий и координацию работы других объектов в приложении.

Читать »

NSError Objective-C

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

Попытка записи строки в файл может оказаться неудачной по многим причинам. Например, пользователю может быть запрещена запись в каталог, в котором находится файл. Или каталог может вообще не существовать. Или в файловой системе не найдется свободного места. для подобных ситуаций, когда завершение операции невозможно, метод должен каким-то образом вернуть описание ошибки кроме логического признака успеха или неудачи.

Читать »

NSArray Objective-C

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

Класс NSArray, как и NSString, часто используется программистами Objective-C. В экземпляре NSArray хранится список указателей на другие объекты. Предположим, вы хотите создать список из трех объектов NSDate, а потом перебрать их и вы вести каждую из хранящихся в них дат.

Читать »

Модель  «приемник/действие» Objective-C

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

В частности, механизм «приемник/действие. используется таймерами. При создании таймера указывается задержка, приемник и действие. После истечения заданной задержки таймер отправляет сообщение действия своему приемнику.

Читать »

Запись в файлы с использованием NSString и NSData Objective-C

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

Библиотека Foundation предоставляет разработчику несколько простых механизмов чтения и записи в файлы. Некоторые из них будут рассмотрены в этой главе.

Запись NSStгing в файл

Начнем с сохранения в файле содержимого NSString. При записи строки в файл необходимо указать используемую кодировку, то есть способ представления каждого символа в виде массива байтов. В кодировке АSCII буква ‘А’ хранится в виде 01000001, а в кодировке UTF-16 та же буква ‘А’ представляется в виде 0000000001000001.

Читать »

Подробнее о копировании Objective-C

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

Большинство классов Objective-C вообще не содержит метода copyWithZone:. Программисты Objective-C создают меньше копий, чем кажется на первый взгляд. Интересно, что методы сору и mutаblеСору определяются в NSObject следующим образом:

-­‐  (id)copy {

Читать »