Главная » Objective-C

Массивы С

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

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

Читать »

Когда использовать функцию Objective-C?

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

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

Читать »

init с аргументами Objective-C

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

Иногда нормальная инициализация объекта требует передачи дополнительной информации от метода, который его вызывает. Представьте, что экземпляр Appliance не может нормально функционировать без названия (nil не в счет). В таком случае необходимо как-то передать инициализатору название, закрепляемое за устройством.

Читать »

Редактирование файла BNRDocument.m- настольное приложение Сосоа

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

Теперь, когда пользовательский интерфейс приложения создан и настроен и в нем созданы все связи, пришло время вернуться к написанию кода. Щелкните на файле BNRDocument.m в навигаторе проекта, чтобы снова открыть его в редакторе, и реализуйте createNewItem:.

Читать »

Строки С

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

Если у программиста Objective-C есть выбор, он всегда предпочтет работать с объектами NSString вместо строк С. Впрочем, иногда выбора нет. Самая распространенная причина для использования строк С? Работа с библиотеками С из кода Objective-C. Например, существует библиотека функций С, позволяющая вашей программе взаимодействовать с сервером баз данных PostgreSQL. Функции этой библиотеки используют строки С, а не экземпляры NSString.

Читать »

Объектные переменные экземпляров Objective-C

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

До настоящего момента переменные экземпляров, объявлявшиеся в наших классах, относились к простым типам С – таким, как int или float. На практике переменные экземпляров гораздо чаще содержат указатели на другие объекты. Объектная переменная экземпляра указывает на другой объект и описывает связь между двумя объектами. Как правило, объектные переменные экземпляров относятся к одной из трех категорий:

Читать »

Логические  переменные Objective-C

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

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

BOOL isNotLegal = !((truckWeight > 0.0) && (truckWeight < 40000.0)); if (isNotLegal) {

Читать »

init Objective-C

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

Класс NSObject содержит метод с именем init. После выделения памяти новому экземпляру отправляется сообщение init, чтобы экземпляр мог инициализировать сбой переменные экземпляров реальными значениями. Таким образом, alloc выделяет память для объекта, а init готовит объект к работе. Использование init выглядит примерно так:

Читать »

Глобальные и статические переменные Objective-C

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

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

Читать »

Свойства Objective-C

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

В предыдущей главе мы создали класс Appliance, который содержал два свойства:

productName и vоltage. Давайте разберемся, как работают эти свойства.

В файле Appliance.h объявляются две переменные экземпляров для хранения данных:

{

Читать »

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

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

В коллекциях, рассматриваемых в этой главе, могут храниться только объекты. А если вам понадобится коллекция float, int или указателей на структуры? Примитивные  типы  С  можно  упаковать  в  объектную  «обертку».  Существует  два

класса, предназначенных специально для этой цели. В NSNumber хранятся числовые типы С, а NSVa1ue может содержать указатель и некоторые типы структур.

Читать »

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

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

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

Читать »

else if Objective-C

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

А если возможностей больше двух? Можно проверить их одну за одной при помощи конструкции else if. Представьте, что грузовик по весу принадлежит к одной из трех категорий: невесомый(floating), легкий(light) или тяжелый(heavy).

if (truckWeight <= 0) { printf("A floating truck\n");

Читать »

Модель-Представление-Контроллер

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

В паттерне проектирования «Модель-Представление-Контроллер», или сокращенно MVC (Model-View-Controller), каждый созданный вами класс должен относиться к одной из трех функциональных категорий: модель, представление или контроллер. Краткая сводка «разделения обязанностей» между категориями:

Читать »

Протоколы Objective-C

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

Пришло время обсудить одну, отчасти абстрактную концепцию. Однажды кто-то сказал: «То, что ты есть, и то, что ты делаешь – не одно и то же». Это утверждение справедливо и для объектов: класс объекта не всегда совпадает с его ролью в работающей системе. Например, объект может быть экземпляром NSМutаblеАrrау, тогда как в приложении он может обеспечивать управление очередью заданий печати.

Читать »