Главная » Objective-C

Сохранение задач iTahDoodle

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

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

Когда приложение Сосоа Touch завершается или переходит в фоновый режим,

Читать »

enum Objective-C

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

Часто в программе требуется определить набор констант. Допустим, вы программируете блендер с пятью рабочими режимами. Ваш класс B1ender содержит метод setSpeed:. Было бы хорошо, если бы тип аргумента указывал, что допустимыми являются только пять конкретных значений. Для этого в программе определяется перечисляемый тип, или перечисление:

Читать »

Оповещения Objective-C

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

Когда пользователь изменяет на Мас часовой пояс, информация об этом изменении может представлять интерес для многих объектов вашей программы. Каждый такой объект регистрируется в качестве наблюдателя в центре оповещений. При смене часового пояса центру отправляется оповещение NSSystеmТimеZоnеDidСhаngеNоtifiсаtiоn, а он передает его всем наблюдателям, заинтересованным в этом событии.

Читать »

Поразрядная операция ИЛИ Objective-C

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

Два байта можно объединить поразрядной операцией ИЛИ; результат представляет собой третий байт. Бит третьего байта содержит 1 в том случае, если хотя бы один из двух соответствующих битов первых двух байтов равен 1.

Поразрядная операция ИЛИ выполняется оператором 1. Для экспериментов с

Читать »

return Objective-C

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

Многие функции в конце своей работы возвращают некоторое значение. Тип данных, возвращаемых функцией, указывается перед ее именем. (Если функция не возвращает никакого значения, вместо типа указывается ключевое слово void).

Создайте новую программу командной строки С с именем Degrees. В файле main.c добавьте перед main() функцию, которая преобразует температуру по Цельсию в шкалу Фаренгейта. Включите вызов новой функции в main().

Читать »

Запись объекта NSData в файл Objective-C

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

Объект NSData представляет данные. Например, при загрузке данных по URL-aдpecy вы получаете экземпляр NSData, которому можно приказать записать себя в файл. Создайте новую программу командной строки Foundation с именем ImageFetch; эта программа будет загружать изображение с сайта Google в экземпляр NSData. Затем прикажите NSData записать свой буфер данных в файл:

Читать »

Первое приложение iOS

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

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

Читать »

Обратные вызовы и владение объектами Objective-C

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

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

•  Центры оповещений не владеют своими наблюдателями. Если объект является наблюдателем, он обычно удаляется из центра оповещений в его методе dealloc:

Читать »

Строковые  литералы Objective-C

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

Если вам приходится много работать со строками С, выделять память вызовом malloc и последовательно заносить символы было бы крайне неудобно. Вместо этого вы создаете  указатель  на  строку  символов  (завершенную  нуль-символом),  заключая

строку в кавычки. Измените свой код так, чтобы в нем использовался строковый литерал:

Читать »

Связывание  представлений- настольное приложение Сосоа

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

Возможности Interface Builder не ограничиваются созданием и настройкой представлений. Разработчик также может объединять объекты представлений с кодом приложения – в частности, определить пары «приемник/действие» и присвоить указатели.

Читать »

NSString Objective-C

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

NSString – еще один готовый класс, как и NSDate. В экземплярах NSString хранятся последовательности символов. В программном коде для создания экземпляра NSString можно использовать запись вида

NSString *lament = @"Why me!?";

Вспомните, по в проекте TimeAfterTime вводился следующий код:

Читать »

Другие поразрядные операторы Objective-C

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

Для полноты картины также следует упомянуть о других поразрядных операторах. Они реже используются в Objective-C, но знать о них полезно.

Исключающая операция ИЛИ

Исключающая операция ИЛИ объединяет два байта и создает третий байт. Бит результата равен 1 в том случае, если ровно один из двух соответствующих битов входных байтов равен 1.

Читать »

NULL Objective-C

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

Иногда в программе бывает нужно создать указатель «на ничто» – то есть переменную для хранения адреса, которая содержит значение, однозначно показывающее, что этой переменной еще не пыла присвоено определенное значение, Для этой цели используется значение NULL:

Читать »

Передача блока Objective-C

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

Поскольку devowelizer является переменной, ее можно передать в аргументе. Класс NSArray содержит метод с именем enumerateObjectsUsingBloсk:. Единственным аргументом этого метода является блок, который выполняется один раз для каждого объекта в массиве.

Читать »

Снова о MVC- настольное приложение Сосоа

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

Итак, пользовательский интерфейс приложения готов. Давайте взглянем на диаграмму объектов данного проекта:

NSDocument – суперкласс, от которого наследует класс BNRDocument,- вообще интересная штука. На первый взгляд он является объектом модели. Но из справочного описания класса NSDocument становится видно, что это скорее контроллер, чем что- либо другое. NSDocument координирует различные дисковые операции и связывается напрямую с представлениями, обеспечивающими ввод данных пользователем. При создании BNRDocument как субкласса BNRDocument мы добавили указатели на реальные объекты моделей (массив NSМutаblеАггау объектов NSString).

Читать »