Объекты-массивы в 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

Инициализация элементов массива в Objective-C

Инициализация элементов массива в Objective-C

Элементам массива можно назначать начальные значения точно так же, как переменным при их объявлении. Для этого нужно просто перечислить начальные значения массива, начиная с первого элемента. Значения в списке разделяются запятыми, и весь список заключается в фигурные скобки.

В операторе:

элементу integers[0] присваивается значение 1, integers[1] — значение 1, integers[2] — значение 2 и так далее.

Массивы символов инициализируются аналогичным образом. Например, в операторе: Continue reading