Главная » iPhone

Использование  блоков Objective-C

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

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

Создайте новую программу командной строки Foundation с именем VowelMovement. В этой программе мы используем блок для перебора массива строк с последовательным преобразованием каждой строки. Сначала мы создадим три массива: для исходных строк, для строк с удаленными гласными и для хранения символов, удаляемых из строк. В файле main.m замените код в фигурных скобках

Читать »

Сообщения Objective-C

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

Еще раз посмотрим на строки, в которых отправлялись эти сообщения с вызовами соответствующих методов:

NSDate *now = [NSDate date];

Метод date является методам класса. Иначе говоря, для выполнения этого метода сообщение отправляется самому классу NSDate. Метод date возвращает указатель на экземпляр NSDate.

Читать »

printf() – Objective-C

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

Но прежде чем браться за числа, мы рассмотрим функцию printf(), которая тоже уже использовалась в наших программах. Функция printf() выводит на консоль строку, то есть цепочку символов. По сути, строка содержит некоторый текст. Откройте   проект   ClassCertificates и   найдите   в   файле   main.c   функцию congratulateStudent().

Читать »

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

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

Ресурс является владельцем работника, работник является владельцем массива ресурсов, а массив ресурсов является владельцем ресурса. Подобные циклические отношения приводят к хранению «мусора» в памяти. Эти объекты должны быть уничтожены для освобождения памяти, но этого не происходит. Возникает ситуация циклического владения - очень распространенный источник утечки памяти.

Читать »

Адреса и указатели Objective-C

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

В сущности, ваш компьютер состоит из процессора и оперативной памяти – огромного набора переключателей, которые могут включаться и выключаться процессором. Говорят, что каждый переключатель хранит 1 бит информации. Значение 1 обычно представляет «включенное» состояние, а значение 0 – «выключенное»

Читать »

Сортировка Objective-C

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

Существует несколько способов сортировки массива, но самый распространенный способ основан на использовании массива дескрипторов сортировки. Класс NSМutаblеАrrау содержит следующий метод:

-­‐      (void)sortUsingDescriptors:(NSArray     *)sortDescriptors;

Читать »

Использование еnum для определения битовых масок Objective-C

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

Часто в программе бывает нужно определить список констант; каждая из которых представляет   целое   число   с   одним   установленным   битом.   Далее   эти   числа

объединяются   поразрядной   операцией   ИЛИ и   проверяются   с   использованием поразрядной операции И (см. выше).

Читать »

Структуры Objective-C

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

Нередко возникает необходимость в создании переменной для хранения нескольких взаимосвязанных фрагментов данных. Допустим, вы пишете программу для вычисления индекса массы тела. (Что такое «индекс массы тела», или ИМТ? Это вес в килограммах, разделенный на квадрат роста в метрах. Значение ИМТ меньше 20 означает, что вес тела ниже нормы, а значения выше 30 указывают на избыточный вес. Это крайне неточная метрика для оценки физического состояния, но для примера по программированию она подходит.) Для описания человека нам понадобится значение float, содержащее рост в метрах, и значение типа int, в котором хранится вес в килограммах.

Читать »

Что же такое программа Objective-C?

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

Итак, вы построили и запустили свою первую программу. Теперь давайте заглянем вовнутрь. Программа состоит из набора функций. Функция представляет собой набор операций, выполняемых процессором. У каждой функции есть имя; только что написанная нами функция называется main. Также в программном коде используется другая функция – printf. Вы не писали ее, но использовали в своем коде. (О том, откуда взялась функция printf, будет рассказано в главе 5).

Читать »

Переменные и типы Objective-C

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

Продолжим метафору с рецептами из предыдущей главы: иногда шеф-повар заводит в кухне настенную доску для записей. Например, распаковывая индейку, он находит наклейку с надписью: «14,2 фунта». Прежде чем выкинуть упаковку, он пишет на доске: «weight (вес) = 14,2». А потом, перед тем как ставить индейку в духовку, он вычисляет время приготовления (15 минут + 15 минут на каждый фунт веса), обращаясь к записям на доске.

Читать »

Локальные переменные, кадры и стек Objective-C

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

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

Читать »

UiAutocorrectimageview. масштабирование

Добавлено Дата: 7 June, 2011 категория: iPhone

Класс uiAutocorrectimageview похож на класс UHmageView, за,исключением того, что изображение автоматически масштабируется в соответствии с размером в его фрейме:

CGRect rect; rect.origin.х = 80; rect.origin.у = 120; rect.size.width = 160; rect.size.height = 240;

Читать »

UllmageView iPhone: вид с видом

Добавлено Дата: 7 June, 2011 категория: iPhone

Класс UllmageView предоставляет способ для работы с изображением как с элементами управления. Это оказывается весьма кстати, когда изображение необходимо связать с объектами вида, панелями инструментов или ячейками таблицы, или же для таких приложений, как показы слайдов, где вся область вида может содержать изображение.

Читать »

Пример: магнитофон iPhone

Добавлено Дата: 6 June, 2011 категория: iPhone

Данный пример может запускаться из командной строки с именем файла и длительностью как на iPhone, так и на настольной системе. Он записывает данные с микрофона в течение заданного периода времени и сохраняет их в файл с указанным именем. Поскольку Leonard также содержит платформу Audio Toolbox, то данный пример может быть скомпилирован как для iPhone, так и для настольной системы:

Читать »

Выполнение дампа экрана iPhone

Добавлено Дата: 6 June, 2011 категория: iPhone

Класс UIApplication содержит метод __dumpScreenContents, который может использоваться на iPhone для выполнения мгновенных снимков (screenshots) экрана. Этот метод записывает на диск файл /tmp/foo_0.png.

Чтобы выполнить дамп содержимого экрана из вашего приложения, вызовите метод _dumpScreenContents из вашего класса UIApplication: [ self _dumpScreenContents: nil ];

Читать »