Справочник по Objective-c
Массивы
Для работы с массивами в Cocoa определены следующие классы:
- NSArray - класс описывающий статический массив, т.е. с
неизменяемым числом элементов
- NSMutableArray - класс описывающий динамический массив.
Расширение класса NSArray, к которому добавлены методы добавление,
вставки и удаления объектов;
Кроме этого можно работать с массивами в стиле C.
создание и инициализация статического массива
- + array - создает пустой массив, используется дочерними
классами;
- + arrayWithArray:- создает и возвращает массив, содержащий
объекты из указанного массива;
- + arrayWithContentsOfFile: - загружает элементы из файла
содержащего список свойств
- + arrayWithContentsOfURL: - аналогично предыдущему, только
xml файл загружается по указанному url;
- + arrayWithObject: - создает массив с одним указанным
объектом;
- + arrayWithObjects: - создает массив из перечисленных через
запятую объектов, последним должен быть nil;
- + arrayWithObjects:count: - создает массив из объектов в
С-массиве;
- – initWithArray: - инициализирует массив объектами из
указанного массива;
- – initWithArray:copyItems: - аналогично предыдущему, только
создаются копии объектов массива, соответственно объекты должны
поддерживать протокол NSCopying ;
- – initWithContentsOfFile: - инициализирует массив данными из
файла (см. arrayWithContentsOfFile);
- – initWithContentsOfURL: - инициализирует массив данными из
файла по указанному url (см. arrayWithContentsOfURL);
- – initWithObjects: - инициализирует массив перечисленными
через запятую объектами, последним должен быть nil;
- – initWithObjects:count: - инициализирует массив объектами в
указанном C-массиве;
доступ к элементам массива
- – containsObject: - определяет содержит ли массив указанный
объект;
- – count - число элементов в массиве;
- – getObjects:range: - копирует объекты из указанного
диапазона в буфер (указатель на С-массив типа (id*));
- – lastObject - возвращает последний элемент, или nil если
массив пустой;
- – objectAtIndex: - возвращает объект по указанному индексу;
- – objectsAtIndexes: - возвращает массив объектов по
указанному множеству индексов;
- – objectEnumerator - возвращает итератор по массиву от
младшего к большему индексу;
- – reverseObjectEnumerator - возвращает обратный итератор по
массиву, т.е. от большего к меньшему индексу;
поиск элементов
Поиск объекта происходит через метод isEqual: протокола NSObject.
Если ничего не найдено возвращается значение NSNotFound.
- – indexOfObject: - поиск указанного объекта;
- – indexOfObject:inRange: - возвращает наименьший индекс в
указанном диапазоне по которому есть объект;
- – indexOfObjectPassingTest: - ищет первый объект, который
пройдет указанный тест;
- – indexOfObjectWithOptions:passingTest: - ищет первый
объект, который пройдет указанный тест;
- – indexOfObjectAtIndexes:options:passingTest: - вариация
предыдущего ;
- – indexesOfObjectsPassingTest: - возвращает множество
индексов объектов, прошедших указанный тест;
- – indexesOfObjectsWithOptions:passingTest: - вариация
предыдущего;
- – indexesOfObjectsAtIndexes:options:passingTest: - ;
удаление элементов
- – removeAllObjects - удалить все объекты;
- – removeLastObject - удалить последний объект;
- – removeObject: - удаляет все вхождения указанного объекта;
- – removeObject:inRange: - удалить объект в указанном
диапазоне;
- – removeObjectAtIndex: - удалить объект в указанной позиции;
- – removeObjectsAtIndexes: - удалить объекты по указанному
множеству индексов;
- – removeObjectsInArray: - удалить все объекты в указанном
массиве;
- – removeObjectsInRange: - удалить все объекты в указанном
диапазоне;