Объявление объекта в Objective-C

Объявление объекта в Objective-CОбщий формат для объявления объекта в Objective-C следующий:

Здесь определяются переменные var1, var2, … как объекты из класса имяКласса. Отметим, что это объявление переменных-указателей, при котором не выделяется пространство для конкретных данных, содержащихся в каждом объекте. В объявлении:

определяется myFract как объект класса Fraction или, точнее, как указатель на этот объект. Чтобы фактически выделить пространство для структуры данных класса Fraction, нужно вызвать обычно alloc или новый метод для этого класса, например: Continue reading

Объекты-массивы в Objective C

Объекты-массивы в Objective C

Массив в Foundation Framework — это упорядоченный набор объектов. Чаще всего(но не обязательно) элементы массива имеют один определенный тип. Аналогично мутабельным и немутабельным строкам, существуют мутабельные и немутабельные массивы.

Для работы с немутабельными(immutable) массивами используется класс NSArray. Для мутабельных(mutable) массивов используется класс NSMutableArray. Последний класс является подклассом предыдущего и наследует его методы.

Для работы с объектами-массивами в программах нужно включить строку:

В программе 1.7 задается массив для хранения названий месяцев, а затем выводится названия месяцев. Continue reading

Строковые объекты в Objective-C

Строковые объекты в Objective-CМы уже работали со строковыми объектами в предыдущих уроках нашего блога. Заключая последовательность символов в кавычки, как в:

мы создаем в Objective-C объект символьной строки. Для работы с объектами символьных строк Foundation framework поддерживает класс с именем NSString. Строки языка Objective-C состоят из символов типа char, а объекты класса NSString состоят из символов типа unichar. Unichar символ это многобайтный символ, соответствующий стандарту Unicode.

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

Введение в Foundation Framework

Введение в Foundation Framework

Фреймворк(framework) — это набор классов, методов, функций и документации, логически сгруппированных для упрощения разработки программ.

В системе Mac OS X имеется более 80 фреймворков для разработки приложений. Они позволяют упростить работу со структурой Mac Addsress Book, выполнять запись на CD, воспроизведение DVD, воспроизведение фильмов с помощью QuickTime, воспроизведение музыки и так далее.

Фреймворк, который является базой для разработки программ, называется Foundation framework. Этот фреймворк, позволяет работать с базовыми объектами, такими как числа и строки, а также с коллекциями объектов, такими как массивы, словари и наборы(множества). Continue reading

Оператор sizeof в Objective-C

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

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

Аргументом для оператора sizeof может быть переменная, имя массива, имя базового типа данных, объект, имя производного типа данных или выражение. Например, написав: Continue reading

Оператор goto в Objective-C

Оператор goto в Objective-CОператор goto в Objective-C вызывает непосредственный переход в указанную точку программы. Чтобы указать это место, требуется метка. Метка(label) — это имя, формируемое по таким же правилам, как имена переменных. Сразу после него ставится двоеточие.

Метка ставится непосредственно перед оператором, на который выполняется переход, и должна присутствовать в той же функции или методе, где находится соответствующий goto. Continue reading

Указатели и адреса памяти в Objective C

Указатели и адреса памяти в Objective CПамять компьютера можно рассматривать как последовательный набор ячеек памяти. Каждая ячейка памяти компьютера имеет свой номер, называемый адресом. Обычно первый адрес памяти имеет номер 0. В большинстве компьютерных систем ячейка занимает 1 байт.

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

Например, если мы объявим переменную с именем count типа int, то система выделит ячейки в памяти, чтобы сохранять значение count во время выполнения программы. Это может быть, например адрес 1000FF16 в памяти компьютера.

К счастью, нам не нужно думать о конкретных адресах памяти, связанных с переменными, поскольку система делает это автоматически. Однако знание того, что каждая переменная связана со своим адресом в памяти, помогает понять, как действуют указатели. Continue reading

Указатели(Pointer) в Objective-C

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

В конце этой статьи мы расскажем, насколько они важны для реализации объектов в языке Objective-C.

Чтобы понять, как действуют указатели, вы должны сначала ознакомиться с понятием косвенного обращения(indirection). Мы часто встречаемся с этим понятием в повседневной жизни.

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

Возвращение результатов функций в Objective-C

Возвращение результатов функций в Objective-C

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

содержится определение функции с именем kmh_to_mph, которая принимает один аргумент типа float с именем km_speed и возвращает значение тоже типа float. Аналогичным образом:

определяет функцию gcd(наибольший общий делитель) с целыми аргументами u и v и возвращает целое значение.

В программе 1.4 функции передаются два аргумента в виде двух чисел, для которых нужно определить их наибольший общий делитель(gcd, greatest common divisor). Continue reading

Массивы символов в Objective-C

Массивы символов в Objective-CВ программе 1.3 показано, как использовать массив символов. Однако здесь есть одна особенность, требующая обсуждения. Вы уже видите ее? Continue reading