NSArray
NSArray и его подкласс NSMutableArray управляйте упорядоченные наборы объектов вызвали массивы. NSArray создает статические массивы, и NSMutableArray создает динамические массивы. Можно использовать массивы при необходимости в упорядоченном наборе объектов.
NSArray “бесплатный соединенный мостом” с его Базовым дубликатом Основы, CFArrayRef. Посмотрите Бесплатное Образование моста для получения дополнительной информации о бесплатном образовании моста.
Разделение на подклассы примечаний
Существует обычно маленькая причина разделить на подклассы NSArray. Класс преуспевает, что он разработан, чтобы сделать — поддерживают упорядоченный набор объектов. Но существуют ситуации где пользовательское NSArray объект мог бы пригодиться. Вот несколько возможностей:
Изменение, как
NSArrayхранит элементы его набора. Вы могли бы сделать это по причинам производительности или по лучшей совместимости с устаревшим кодом.Получая больше информации о том, что происходит с набором (например, сбор статистики).
Методы для переопределения
Любой подкласс NSArray должен переопределить примитивные методы экземпляра count и objectAtIndex:. Эти методы должны воздействовать на запоминающее устройство, что Вы предусматриваете элементы набора. Для этого запоминающего устройства можно использовать статический массив, стандарт NSArray объект, или некоторый другой тип данных или механизм. Можно также принять решение переопределить, частично или полностью, любой другой NSArray метод, для которого Вы хотите обеспечить альтернативную реализацию.
Вы могли бы хотеть реализовать инициализатор для своего подкласса, подходящего для запоминающего устройства, которым управляет подкласс. Если Вы делаете, Ваш инициализатор должен вызвать один из определяемых инициализаторов NSArray класс, также init или initWithObjects:count:. NSArray класс принимает NSCopying, NSMutableCopying, и NSCoding протоколы; если Вы хотите экземпляры своего собственного подкласса, создаваемого из копирования или кодирования, переопределяете методы в этих протоколах.
Помните это NSArray открытый интерфейс для кластера класса и что это влечет за собой для Вашего подкласса. Необходимо обеспечить хранение для подкласса и реализовать примитивные методы, непосредственно действующие на то хранение.
Альтернативы разделению на подклассы
Прежде, чем сделать пользовательский класс NSArray, заняться расследованиями NSPointerArray и соответствующий Базовый тип Основы, Ссылка CFArray. Поскольку NSArray и CFArray “бесплатный соединенный мостом”, можно заменить a CFArray объект для a NSArray возразите в своем коде (с надлежащим кастингом). Несмотря на то, что они - соответствующие типы, CFArray и NSArray не имейте идентичных интерфейсов или реализаций, и можно иногда делать вещи с CFArray то, что Вы не можете легко сделать с NSArray. Например, CFArray обеспечивает ряд обратных вызовов, некоторые из которых для реализации пользовательского поведения сохранять-выпуска. Если Вы указываете NULL реализации для этих обратных вызовов, можно легко получить несдерживающий массив.
Если поведение Вы могли бы записать категорию на, Вы хотите добавить дополнения тот из существующего класса NSArray. Следует иметь в виду, однако, что эта категория будет иметь силу для всех экземпляров NSArray то, что Вы используете, и это могло бы иметь непреднамеренные последствия. Также Вы могли использовать состав для достижения желаемого поведения.
Соответствует
-
AnyObject -
ArrayLiteralConvertible -
CKRecordValue -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSFastEnumeration -
NSMutableCopying -
NSObjectProtocol -
NSSecureCoding -
Печатаемый -
Reflectable -
SequenceType -
NSCopying -
NSFastEnumeration -
NSMutableCopying -
NSObject -
NSSecureCoding
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает пустой массив.
Объявление
Objective C
+ (instancetype)arrayВозвращаемое значение
Пустой массив.
Обсуждение
Этот метод используется непостоянными подклассами
NSArray.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Создает и возвращает массив, содержащий объекты в другом данном массиве.
Объявление
Objective C
+ (instancetype)arrayWithArray:(NSArray *)anArrayПараметры
anArrayМассив.
Возвращаемое значение
Массив, содержащий объекты в
anArray.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Создает и возвращает массив, содержащий содержание файла, указанного данным путем.
Объявление
Objective C
+ (NSArray *)arrayWithContentsOfFile:(NSString *)aPathПараметры
aPathПуть к файлу, содержащему строковое представление массива, произведенного
writeToFile:atomically:метод.Возвращаемое значение
Массив, содержащий содержание файла, указанного
aPath. Возвратыnilесли содержание файла не может быть проанализировано в массив, если файл не может быть открыт или.Обсуждение
Представление в виде массива в файле, идентифицированном
aPathдолжен содержать только объекты списка свойств (NSString,NSData,NSDate,NSNumber,NSArray, илиNSDictionaryобъекты). Для получения дополнительной информации см. Руководство по программированию Списка свойств. Даже если массив является непостоянным, объекты, содержавшие этим массивом, являются неизменными.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Создает и возвращает массив, содержащий содержание, указанное данным URL.
Объявление
Objective C
+ (NSArray *)arrayWithContentsOfURL:(NSURL *)aURLПараметры
aURLРасположение файла, содержащего строковое представление массива, произведенного
writeToURL:atomically:метод.Возвращаемое значение
Массив, содержащий содержание, указанное
aURL. Возвратыnilесли содержание расположения не может быть проанализировано в массив, если расположение не может быть открыто или.Обсуждение
Представление в виде массива в расположении, идентифицированном
aURLдолжен содержать только объекты списка свойств (NSString,NSData,NSArray, илиNSDictionaryобъекты). Даже если массив является непостоянным, объекты, содержавшие этим массивом, являются неизменными.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Создает и возвращает массив, содержащий данный объект.
Объявление
Swift
convenience init(objectanObject: AnyObject)Objective C
+ (instancetype)arrayWithObject:(id)anObjectПараметры
anObjectОбъект.
Возвращаемое значение
Массив, содержащий единственный элемент
anObject.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Создает и возвращает массив, содержащий объекты в списке аргументов.
Объявление
Objective C
+ (instancetype)arrayWithObjects:(id)firstObj,...Параметры
firstObj, ...Список разделенных запятой значений объектов, заканчивающихся
nil.Возвращаемое значение
Массив, содержащий объекты в списке аргументов.
Обсуждение
Этот пример кода создает массив, содержащий три различных типов элемента:
NSArray *myArray;NSDate *aDate = [NSDate distantFuture];NSValue *aValue = [NSNumber numberWithInt:5];NSString *aString = @"a string";myArray = [NSArray arrayWithObjects:aDate, aValue, aString, nil];
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Создает и возвращает массив, включающий данное число объектов от данного массива C.
Объявление
Objective C
+ (instancetype)arrayWithObjects:(const id [])objectscount:(NSUInteger)countПараметры
objectsМассив C объектов.
countЧисло значений от
objectsC выстраивают для включения в новый массив. Это число будет количеством нового массива — это не должно быть отрицательным или больше, чем число элементов вobjects.Возвращаемое значение
Новый массив включая первое
countобъекты отobjects.Обсуждение
Элементы добавляются к новому массиву в том же порядке, в котором они появляются
objects, до, но не включая индексcount. Например:NSString *strings[3];strings[0] = @"First";strings[1] = @"Second";strings[2] = @"Third";NSArray *stringsArray = [NSArray arrayWithObjects:strings count:2];// strings array contains { @"First", @"Second" }
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Инициализирует недавно выделенный массив.
Объявление
Swift
init()Objective C
- (instancetype)initВозвращаемое значение
Массив.
Обсуждение
После того, как неизменный массив был инициализирован таким образом, он не может быть изменен.
Этот метод является определяемым инициализатором.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Инициализирует недавно выделенный массив путем размещения в него объектов, содержавшихся в данном массиве.
Объявление
Swift
convenience init(arrayanArray: [AnyObject])Objective C
- (instancetype)initWithArray:(NSArray *)anArrayПараметры
anArrayМассив.
Возвращаемое значение
Массив, инициализированный для содержания объектов в
anArray. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
После того, как неизменный массив был инициализирован таким образом, он не может быть изменен.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Инициализирует недавно выделенное использование массива
anArrayкак источник объектов данных для массива.Объявление
Swift
convenience init(arrayarray: [AnyObject], copyItemsflag: Bool)Objective C
- (instancetype)initWithArray:(NSArray *)arraycopyItems:(BOOL)flagПараметры
arrayМассив, содержащий объекты, с которыми можно инициализировать новый массив.
flagЕсли
YEStrue, каждый объект вarrayполучает acopyWithZone:сообщение для создания копии объекта — объекты должно соответствоватьNSCopyingпротокол. В среде управляемой памяти это вместоretainобменивайтесь сообщениями объект иначе получил бы. Объектная копия тогда добавляется к возвращенному массиву.Если
NOfalse, тогда в среде управляемой памяти каждый объект вarrayпросто получает aretainобменивайтесь сообщениями, когда это будет добавлено к возвращенному массиву.Возвращаемое значение
Массив, инициализированный для содержания объектов — или если
flagYEStrue, копии объектов — вarray. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
После того, как неизменный массив был инициализирован таким образом, он не может быть изменен.
copyWithZone:метод выполняет мелкую копию. Если у Вас есть набор произвольной глубины, передаваяYEStrueдляflagпараметр выполнит неизменную копию первого уровня ниже поверхности. Если Вы передаетеNOfalseпеременчивость первого уровня незатронута. В любом случае переменчивость всех более глубоких уровней незатронута.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Инициализирует недавно выделенный массив с содержанием файла, указанного данным путем.
Объявление
Swift
convenience init?(contentsOfFileaPath: String)Objective C
- (NSArray *)initWithContentsOfFile:(NSString *)aPathПараметры
aPathПуть к файлу, содержащему представление массива, произведенного
writeToFile:atomically:метод.Возвращаемое значение
Массив, инициализированный для содержания содержания файла, указанного
aPathилиnilесли файл не может быть открыт, или содержание файла не может быть проанализировано в массив. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Представление в виде массива в файле, идентифицированном
aPathдолжен содержать только объекты списка свойств (NSString,NSData,NSArray, илиNSDictionaryобъекты). Даже если массив является непостоянным, объекты, содержавшие этим массивом, являются неизменными.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Инициализирует недавно выделенный массив с содержанием расположения, указанного данным URL.
Объявление
Swift
convenience init?(contentsOfURLaURL: NSURL)Objective C
- (NSArray *)initWithContentsOfURL:(NSURL *)aURLПараметры
aURLРасположение файла, содержащего строковое представление массива, произведенного
writeToURL:atomically:метод.Возвращаемое значение
Массив, инициализированный для содержания содержания, указанного
aURL. Возвратыnilесли содержание расположения не может быть проанализировано в массив, если расположение не может быть открыто или. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Представление в виде массива в расположении, идентифицированном
aURLдолжен содержать только объекты списка свойств (NSString,NSData,NSArray, илиNSDictionaryобъекты). Даже если массив является непостоянным, объекты, содержавшие этим массивом, являются неизменными.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Инициализирует недавно выделенный массив путем размещения в него объектов в списке аргументов.
Объявление
Objective C
- (instancetype)initWithObjects:(id)firstObj,...Параметры
firstObj, ...Список разделенных запятой значений объектов, заканчивающихся
nil.Возвращаемое значение
Массив, инициализированный для включения объектов в список аргументов. Возвращенный объект мог бы отличаться, чем исходный получатель.
Обсуждение
После того, как неизменный массив был инициализирован таким образом, он не может быть изменен.
Этот метод является определяемым инициализатором.
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
init (objects:count:) - initWithObjects:count:Определяемый инициализаторИнициализирует недавно выделенный массив для включения данного числа объектов от данного массива C.
Объявление
Swift
init(objectsobjects: UnsafePointer<AnyObject?>, countcount: Int)Objective C
- (instancetype)initWithObjects:(const id [])objectscount:(NSUInteger)countПараметры
objectsМассив C объектов.
countЧисло значений от
objectsC выстраивают для включения в новый массив. Это число будет количеством нового массива — это не должно быть отрицательным или больше, чем число элементов вobjects.Возвращаемое значение
Недавно выделенный массив включая первое
countобъекты отobjects. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Элементы добавляются к новому массиву в том же порядке, в котором они появляются
objects, до, но не включая индексcount.После того, как неизменный массив был инициализирован таким образом, он не может быть изменен.
Этот метод является определяемым инициализатором.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает булево значение, указывающее, присутствует ли данный объект в массиве.
Объявление
Swift
func containsObject(_anObject: AnyObject) -> BoolObjective C
- (BOOL)containsObject:(id)anObjectПараметры
anObjectОбъект.
Возвращаемое значение
YEStrueеслиanObjectприсутствует в массиве, иначеNOfalse.Обсуждение
Этот метод определяет ли
anObjectприсутствует в массиве путем отправкиisEqual:обменивайтесь сообщениями к каждому из объектов массива (и передачаanObjectкак параметр каждомуisEqual:сообщение).Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
количество количествоСвойствоЧисло объектов в массиве.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
getObjects (_:) - getObjects:(OS X v10.6)Копии все объекты, содержавшиеся в массиве к
aBuffer.Оператор осуждения
Использовать
getObjects:range:вместо этого.Объявление
Swift
func getObjects(_aBuffer: AutoreleasingUnsafeMutablePointer<AnyObject?>)Objective C
- (void)getObjects:(id [])aBufferПараметры
aBufferМассив C объектов размера, по крайней мере, количество массива.
Обсуждение
Метод копирует в
aBufferвсе объекты в массиве; размер буфера должен поэтому быть, по крайней мере, количеством массива, умноженного на размер ссылки на объект, как показано в следующем примере (обратите внимание на то, что это - просто пример, Вы не должны обычно создавать буфер просто для итерации по содержанию массива):NSArray *mArray = // ...;id *objects;NSUInteger count = [mArray count];objects = malloc(sizeof(id) * count);[mArray getObjects:objects];for (i = 0; i < count; i++) {NSLog(@"object at index %d: %@", i, objects[i]);}free(objects);
Специальные замечания
Этот устаревший метод небезопасен, потому что он мог потенциально вызвать переполнение буфера.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.6.
См. также
-
Копирует объекты, содержавшиеся в массиве, которые находятся в пределах указанного диапазона к
aBuffer.Объявление
Swift
func getObjects(_aBuffer: AutoreleasingUnsafeMutablePointer<AnyObject?>, rangeaRange: NSRange)Objective C
- (void)getObjects:(id [])aBufferrange:(NSRange)aRangeПараметры
aBufferМассив C объектов размера, по крайней мере, длина диапазона, указанного
aRange.aRangeДиапазон в границах массива.
Если расположение плюс длина диапазона больше, чем количество массива, этот метод повышает
NSRangeException.Обсуждение
Метод копирует в
aBufferобъекты в массиве в диапазоне, указанномaRange; размер буфера должен поэтому быть, по крайней мере, длиной диапазона, умноженного на размер ссылки на объект, как показано в следующем примере (это исключительно для иллюстрации — Вы не должны обычно создавать буфер просто для итерации по содержанию массива):NSArray *mArray = // an array with at least six elements...;id *objects;NSRange range = NSMakeRange(2, 4);objects = malloc(sizeof(id) * range.length);[mArray getObjects:objects range:range];for (i = 0; i < range.length; i++) {NSLog(@"objects: %@", objects[i]);}free(objects);
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
firstObject firstObjectСвойствоПервый объект в массиве. (только для чтения)
Объявление
Swift
var firstObject: AnyObject? { get }Objective C
@property(nonatomic, readonly) id firstObjectОбсуждение
Если массив пуст, возвраты
nil.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
lastObject lastObjectСвойствоПоследний объект в массиве. (только для чтения)
Объявление
Swift
var lastObject: AnyObject? { get }Objective C
@property(nonatomic, readonly) id lastObjectОбсуждение
Если массив пуст, возвраты
nil.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
removeLastObject(NSMutableArray) -
Возвращает объект, расположенный в указанном индексе.
Объявление
Swift
func objectAtIndex(_index: Int) -> AnyObjectObjective C
- (id)objectAtIndex:(NSUInteger)indexПараметры
indexИндекс в границах массива.
Возвращаемое значение
Объект расположился в
index.Обсуждение
Если
indexвне конца массива (т.е. еслиindexбольше, чем или равен значению, возвращенномуcount),NSRangeExceptionповышен.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает объект в указанном индексе.
Объявление
Objective C
- (id)objectAtIndexedSubscript:(NSUInteger)idxПараметры
idxИндекс в границах массива.
Возвращаемое значение
Объект расположился в
index.Обсуждение
Если
indexвне конца массива (т.е. еслиindexбольше, чем или равен значению, возвращенномуcount),NSRangeExceptionповышен.Этот метод идентичен
objectAtIndex:.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.8 и позже.
См. также
-
Возвращает массив, содержащий объекты в массиве в индексах, указанных данным индексным набором.
Объявление
Swift
func objectsAtIndexes(_indexes: NSIndexSet) -> [AnyObject]Objective C
- (NSArray *)objectsAtIndexes:(NSIndexSet *)indexesВозвращаемое значение
Массив, содержащий объекты в массиве в индексах, указанных
indexes.Обсуждение
Возвращенные объекты находятся в порядке по возрастанию их индексов в
indexes, так, чтобы объект в возвращенном массиве с более высоким индексом в индексах следовал за объектом с меньшим индексом вindexes.Повышения
NSRangeExceptionесли любое расположение вindexesпревышает границы массива,indexesnil.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвращает объект перечислителя, позволяющий Вам доступ каждый объект в массиве.
Объявление
Swift
func objectEnumerator() -> NSEnumeratorObjective C
- (NSEnumerator *)objectEnumeratorВозвращаемое значение
Объект перечислителя, позволяющий Вам доступ каждый объект в массиве, в порядке, от элемента в самом низком индексе вверх.
Обсуждение
Возвращает объект перечислителя, позволяющий Вам доступ каждый объект в массиве, в порядке, начиная с элемента в индексе 0, как в:
NSEnumerator *enumerator = [myArray objectEnumerator];id anObject;while (anObject = [enumerator nextObject]) {/* code to act on each element as it is returned */}
Специальные замечания
Когда Вы используете этот метод с непостоянными подклассами
NSArray, Вы не должны изменять массив во время перечисления.Более эффективно использовать быстрый протокол перечисления (см.
NSFastEnumeration). Быстрое перечисление доступно на OS X v10.5 и позже и iOS 2.0 и позже.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
– reverseObjectEnumeratornextObject(NSEnumerator) -
Возвращает объект перечислителя, позволяющий Вам доступ каждый объект в массиве в обратном порядке.
Объявление
Swift
func reverseObjectEnumerator() -> NSEnumeratorObjective C
- (NSEnumerator *)reverseObjectEnumeratorВозвращаемое значение
Объект перечислителя, позволяющий Вам доступ каждый объект в массиве, в порядке, от элемента в самом высоком индексе вниз к элементу в индексе
0.Специальные замечания
Когда Вы используете этот метод с непостоянными подклассами
NSArray, Вы не должны изменять массив во время перечисления.Более эффективно использовать быстрый протокол перечисления (см.
NSFastEnumeration). Быстрое перечисление доступно на OS X v10.5 и позже и iOS 2.0 и позже.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
– objectEnumeratornextObject(NSEnumerator)
-
Возвращает самый низкий индекс, соответствующее значение массива которого равно данному объекту.
Объявление
Swift
func indexOfObject(_anObject: AnyObject) -> IntObjective C
- (NSUInteger)indexOfObject:(id)anObjectПараметры
anObjectОбъект.
Возвращаемое значение
Самый низкий индекс, соответствующее значение массива которого равно
anObject. Если ни один из объектов в массиве не равенanObject, возвратыNSNotFound.Обсуждение
Запуск в индексе
0, каждый элемент массива отправляетсяisEqual:сообщение до соответствия найдено, или конец массива достигнут. Этот метод передаетanObjectпараметр каждомуisEqual:сообщение. Объекты считают равными еслиisEqual:(объявленный вNSObjectпротокол) возвратыYEStrue.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает самый низкий индекс в указанном диапазоне, соответствующее значение массива которого равно данному объекту.
Объявление
Objective C
- (NSUInteger)indexOfObject:(id)anObjectinRange:(NSRange)rangeПараметры
anObjectОбъект.
rangeДиапазон индексов в массиве, в котором можно искать
anObject.Возвращаемое значение
Самый низкий индекс в
rangeчье соответствующее значение массива равноanObject. Если ни один из объектов вrangeравноanObject, возвратыNSNotFound.Обсуждение
Запуск в
range.location, каждый элемент массива отправляетсяisEqual:сообщение до соответствия найдено или конецrangeдостигнут. Этот метод передаетanObjectпараметр каждомуisEqual:сообщение. Объекты считают равными еслиisEqual:возвратыYEStrue.Этот метод повышает
NSRangeExceptionисключение, еслиrangeпараметр представляет диапазон, не существующий в массиве.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает самый низкий индекс, соответствующее значение массива которого идентично данному объекту.
Объявление
Swift
func indexOfObjectIdenticalTo(_anObject: AnyObject) -> IntObjective C
- (NSUInteger)indexOfObjectIdenticalTo:(id)anObjectПараметры
anObjectОбъект.
Возвращаемое значение
Самый низкий индекс, соответствующее значение массива которого идентично
anObject. Если ни один из объектов в массиве не идентиченanObject, возвратыNSNotFound.Обсуждение
Если их объектные адреса являются тем же, объекты считают идентичными.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает самый низкий индекс в указанном диапазоне, соответствующее значение массива которого равно данному объекту.
Объявление
Objective C
- (NSUInteger)indexOfObjectIdenticalTo:(id)anObjectinRange:(NSRange)rangeПараметры
anObjectОбъект.
rangeДиапазон индексов в массиве, в котором можно искать
anObject.Возвращаемое значение
Самый низкий индекс в
rangeчье соответствующее значение массива идентичноanObject. Если ни один из объектов вrangeидентичноanObject, возвратыNSNotFound.Обсуждение
Если их объектные адреса являются тем же, объекты считают идентичными.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает индекс первого объекта в массиве, проходящем тест в данном Блоке.
Объявление
Swift
func indexOfObjectPassingTest(_predicate: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> IntObjective C
- (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicateПараметры
predicateБлок для применения к элементам в массиве.
Блок берет три параметра:
objЭлемент в массиве.
idxИндекс элемента в массиве.
stopСсылка на булево значение. Блок может установить значение в
YEStrueостановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYEStrueв Блоке.Блок возвращает булево значение, указывающее ли
objпрошедший тест. ВозвратYEStrueостановит последующую обработку массива.Возвращаемое значение
Самый низкий индекс, соответствующее значение которого в массиве проходит тест, указанный
predicate. Если никакие объекты в массиве не проходят тест, возвратыNSNotFound.Обсуждение
Если Блочный параметр
nilэтот метод повысит исключение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Возвращает индекс объекта в массиве, проходящем тест в данном Блоке для данного набора опций перечисления.
Объявление
Swift
func indexOfObjectWithOptions(_opts: NSEnumerationOptions, passingTestpredicate: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> IntObjective C
- (NSUInteger)indexOfObjectWithOptions:(NSEnumerationOptions)optspassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicateПараметры
optsНемного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
predicateБлок для применения к элементам в массиве.
Блок берет три параметра:
objЭлемент в массиве.
idxИндекс элемента в массиве.
stopСсылка на булево значение. Блок может установить значение в
YEStrueостановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYEStrueв Блоке.Блок возвращает булево значение, указывающее ли
objпрошедший тест.Возвращаемое значение
Индекс, соответствующее значение которого в массиве проходит тест, указанный
predicateиopts. Еслиoptsбитовая маска указывает обратный порядок, тогда последний элемент, соответствия возвращающийся. Иначе, индекс первого соответствующего объекта возвращается. Если никакие объекты в массиве не проходят тест, возвратыNSNotFound.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему объекту. Можно указать
NSEnumerationConcurrentи/илиNSEnumerationReverseкак опции перечисления изменить это поведение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Возвращает индекс, от данного набора индексов, первого объекта в массиве, проходящем тест в данном Блоке для данного набора опций перечисления.
Объявление
Swift
func indexOfObjectAtIndexes(_indexSet: NSIndexSet, optionsopts: NSEnumerationOptions, passingTestpredicate: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> IntObjective C
- (NSUInteger)indexOfObjectAtIndexes:(NSIndexSet *)indexSetoptions:(NSEnumerationOptions)optspassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicateПараметры
indexSetИндексы объектов, по которым можно перечислить.
optsНемного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
predicateБлок для применения к элементам в массиве.
Блок берет три параметра:
objЭлемент в массиве.
idxИндекс элемента в массиве.
stopСсылка на булево значение. Блок может установить значение в
YEStrueостановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYEStrueв Блоке.Блок возвращает булево значение, указывающее ли
objпрошедший тест.Возвращаемое значение
Самый низкий индекс, соответствующее значение которого в массиве проходит тест, указанный
predicate. Если никакие объекты в массиве не проходят тест, возвратыNSNotFound.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему элементу, указанному
indexSet. Можно указатьNSEnumerationConcurrentи/илиNSEnumerationReverseкак опции перечисления изменить это поведение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Возвращает индексы объектов в массиве, проходящих тест в данном Блоке.
Объявление
Swift
func indexesOfObjectsPassingTest(_predicate: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> NSIndexSetObjective C
- (NSIndexSet *)indexesOfObjectsPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicateПараметры
predicateБлок для применения к элементам в массиве.
Блок берет три параметра:
objЭлемент в массиве.
idxИндекс элемента в массиве.
stopСсылка на булево значение. Блок может установить значение в
YEStrueостановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYEStrueв Блоке.Блок возвращает булево значение, указывающее ли
objпрошедший тест.Возвращаемое значение
Индексы, соответствующие значения которых в массиве проходят тест, указанный
predicate. Если никакие объекты в массиве не проходят тест, возвращает пустой индексный набор.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Возвращает индексы объектов в массиве, проходящих тест в данном Блоке для данного набора опций перечисления.
Объявление
Swift
func indexesOfObjectsWithOptions(_opts: NSEnumerationOptions, passingTestpredicate: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> NSIndexSetObjective C
- (NSIndexSet *)indexesOfObjectsWithOptions:(NSEnumerationOptions)optspassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicateПараметры
optsНемного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
predicateБлок для применения к элементам в массиве.
Блок берет три параметра:
objЭлемент в массиве.
idxИндекс элемента в массиве.
stopСсылка на булево значение. Блок может установить значение в
YEStrueостановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYEStrueв Блоке.Блок возвращает булево значение, указывающее ли
objпрошедший тест.Возвращаемое значение
Индексы, соответствующие значения которых в массиве проходят тест, указанный
predicate. Если никакие объекты в массиве не проходят тест, возвращает пустой индексный набор.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему объекту. Можно указать
NSEnumerationConcurrentи/илиNSEnumerationReverseкак опции перечисления изменить это поведение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
indexesOfObjectsAtIndexes (_: options:passingTest:) - indexesOfObjectsAtIndexes:options:passingTest:Возвращает индексы, от данного набора индексов, объектов в массиве, проходящих тест в данном Блоке для данного набора опций перечисления.
Объявление
Swift
func indexesOfObjectsAtIndexes(_indexSet: NSIndexSet, optionsopts: NSEnumerationOptions, passingTestpredicate: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> NSIndexSetObjective C
- (NSIndexSet *)indexesOfObjectsAtIndexes:(NSIndexSet *)indexSetoptions:(NSEnumerationOptions)optspassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicateПараметры
indexSetИндексы объектов, по которым можно перечислить.
optsНемного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
predicateБлок для применения к элементам в массиве.
Блок берет три параметра:
objЭлемент в массиве.
idxИндекс элемента в массиве.
stopСсылка на булево значение. Блок может установить значение в
YEStrueостановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYEStrueв Блоке.Блок возвращает булево значение, указывающее ли
objпрошедший тест.Возвращаемое значение
Индексы, соответствующие значения которых в массиве проходят тест, указанный
predicate. Если никакие объекты в массиве не проходят тест, возвращает пустой индексный набор.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему элементу, указанному
indexSet. Можно указатьNSEnumerationConcurrentи/илиNSEnumerationReverseкак опции перечисления изменить это поведение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
indexOfObject (_: inSortedRange:options:usingComparator:) - indexOfObject:inSortedRange:options:usingComparator:Возвращает индекс, в указанном диапазоне, объекта по сравнению с элементами в массиве с помощью данного
NSComparatorблок.Объявление
Swift
func indexOfObject(_obj: AnyObject, inSortedRanger: NSRange, optionsopts: NSBinarySearchingOptions, usingComparatorcmp: NSComparator) -> IntObjective C
- (NSUInteger)indexOfObject:(id)objinSortedRange:(NSRange)roptions:(NSBinarySearchingOptions)optsusingComparator:(NSComparator)cmpПараметры
objОбъект, который можно искать в массиве.
Если это значение
nil, броскиNSInvalidArgumentException.rДиапазон в массиве для поиска
obj.Если
rпревышает границы массива (если расположение плюс длина диапазона больше, чем количество массива), броскиNSRangeException.optsОпции для поиска. Для возможных значений посмотрите NSBinarySearchingOptions.
Если Вы указываете обоих
NSBinarySearchingFirstEqualиNSBinarySearchingLastEqual, броскиNSInvalidArgumentException.cmpБлок компаратора раньше сравнивал объект
objс элементами в массиве.Если это значение
NULL, броскиNSInvalidArgumentException.Возвращаемое значение
Если
NSBinarySearchingInsertionIndexопция не указана:Если
objнайден и ни одинNSBinarySearchingFirstEqualниNSBinarySearchingLastEqualуказан, возвращает индекс произвольного соответствующего объекта.Если
NSBinarySearchingFirstEqualопция также указана, возвращает самый низкий индекс равных объектов.Если
NSBinarySearchingLastEqualопция также указана, возвращает самый высокий индекс равных объектов.Если объект не найден, возвраты
NSNotFound.
Если
NSBinarySearchingInsertionIndexопция указана, возвращает индекс, в котором необходимо вставитьobjдля поддержания сортированного массива:Если
objнайден и ни одинNSBinarySearchingFirstEqualниNSBinarySearchingLastEqualуказан, возвраты, которым любой равняется или один больший индекс, чем индекс какого-либо соответствующего объекта.Если
NSBinarySearchingFirstEqualопция также указана, возвращает самый низкий индекс равных объектов.Если
NSBinarySearchingLastEqualопция также указана, возвращает самый высокий индекс равных объектов.Если объект не найден, возвращает индекс наименее большего объекта или индекс в конце массива, если объект больше, чем все другие элементы.
Специальные замечания
Элементы в массиве, должно быть, были уже сортированы с помощью компаратора
cmp. Если массив не сортируется, результат не определен.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Отправляет в каждый объект в массиве сообщение, идентифицированное данным селектором, начиная с первого объекта и продолжающийся через массив к последнему объекту.
Объявление
Objective C
- (void)makeObjectsPerformSelector:(SEL)aSelectorПараметры
aSelectorСелектор, идентифицирующий сообщение для отправки к объектам в массиве. Метод не должен брать параметры и не должен иметь побочного эффекта изменения приемной антенной решетки.
Обсуждение
Этот метод повышает
NSInvalidArgumentExceptionеслиaSelectorNULL.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Отправляет
aSelectorобменивайтесь сообщениями к каждому объекту в массиве, начиная с первого объекта и продолжающийся через массив к последнему объекту.Объявление
Objective C
- (void)makeObjectsPerformSelector:(SEL)aSelectorwithObject:(id)anObjectПараметры
aSelectorСелектор, идентифицирующий сообщение для отправки к объектам в массиве. Метод должен взять отдельный аргумент идентификатора типа и не должен иметь побочного эффекта изменения приемной антенной решетки.
anObjectОбъект отправить как параметр каждому вызову
aSelectorметод.Обсуждение
Этот метод повышает
NSInvalidArgumentExceptionеслиaSelectorNULL.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Выполняет данный блок с помощью каждого объекта в массиве, начиная с первого объекта и продолжаясь через массив к последнему объекту.
Объявление
Swift
func enumerateObjectsUsingBlock(_block: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Void)Objective C
- (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))blockПараметры
blockБлок для применения к элементам в массиве.
Блок берет три параметра:
objЭлемент в массиве.
idxИндекс элемента в массиве.
stopСсылка на булево значение. Блок может установить значение в
YEStrueостановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYEStrueв Блоке.Обсуждение
Если Блочный параметр
nilэтот метод повысит исключение. Значения, выделенные в блоке, будут освобождены после того, как блок выполняется. Использоватьretainявно поддержать те значения.Этот метод выполняется синхронно.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Выполняет данный блок с помощью каждого объекта в массиве.
Объявление
Swift
func enumerateObjectsWithOptions(_opts: NSEnumerationOptions, usingBlockblock: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Void)Objective C
- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)optsusingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))blockПараметры
optsНемного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
blockБлок для применения к элементам в массиве.
Блок берет три параметра:
objЭлемент в массиве.
idxИндекс элемента в массиве.
stopСсылка на булево значение. Блок может установить значение в
YEStrueостановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYEStrueв Блоке.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему объекту. Можно указать
NSEnumerationConcurrentи/илиNSEnumerationReverseкак опции перечисления изменить это поведение.Этот метод выполняется синхронно.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Выполняет данный блок с помощью объектов в массиве в указанных индексах.
Объявление
Swift
func enumerateObjectsAtIndexes(_indexSet: NSIndexSet, optionsopts: NSEnumerationOptions, usingBlockblock: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Void)Objective C
- (void)enumerateObjectsAtIndexes:(NSIndexSet *)indexSetoptions:(NSEnumerationOptions)optsusingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))blockПараметры
indexSetИндексы объектов, по которым можно перечислить.
optsНемного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
blockБлок для применения к элементам в массиве.
Блок берет три параметра:
objЭлемент в массиве.
idxИндекс элемента в массиве.
stopСсылка на булево значение. Блок может установить значение в
YEStrueостановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYEStrueв Блоке.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему элементу, указанному
indexSet. Можно указатьNSEnumerationConcurrentи/илиNSEnumerationReverseкак опции перечисления изменить это поведение.Этот метод выполняется синхронно.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Возвращает первый объект, содержавшийся в приемной антенной решетке, это равно объекту в другом данном массиве.
Объявление
Swift
func firstObjectCommonWithArray(_otherArray: [AnyObject]) -> AnyObject?Objective C
- (id)firstObjectCommonWithArray:(NSArray *)otherArrayПараметры
otherArrayМассив.
Возвращаемое значение
Возвращает первый объект, содержавшийся в приемной антенной решетке, в которой это равно объекту
otherArray. Если никакой такой объект не найден, возвратыnil.Обсуждение
Этот метод использование
isEqual:проверять на объектное равенство.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Сравнивает приемную антенную решетку с другим массивом.
Объявление
Swift
func isEqualToArray(_otherArray: [AnyObject]) -> BoolObjective C
- (BOOL)isEqualToArray:(NSArray *)otherArrayПараметры
otherArrayМассив.
Возвращаемое значение
YEStrueесли содержаниеotherArrayравны содержанию приемной антенной решетки, иначеNOfalse.Обсуждение
Два массива имеют равное содержание, если каждый из них содержит то же число объектов, и объекты в данном индексе в каждом массиве удовлетворяют
isEqual:тест.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает новый массив, который является копией приемной антенной решетки с данным объектом, добавленным до конца.
Объявление
Swift
func arrayByAddingObject(_anObject: AnyObject) -> [AnyObject]Objective C
- (NSArray *)arrayByAddingObject:(id)anObjectПараметры
anObjectОбъект.
Возвращаемое значение
Новый массив, который является копией приемной антенной решетки с
anObjectдобавленный до конца.Обсуждение
Если
anObjectnil,NSInvalidArgumentExceptionповышен.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
addObject:(NSMutableArray) -
Возвращает новый массив, который является копией приемной антенной решетки с объектами, содержавшимися в другом массиве, добавленном до конца.
Объявление
Swift
func arrayByAddingObjectsFromArray(_otherArray: [AnyObject]) -> [AnyObject]Objective C
- (NSArray *)arrayByAddingObjectsFromArray:(NSArray *)otherArrayПараметры
otherArrayМассив.
Возвращаемое значение
Новый массив, который является копией приемной антенной решетки с объектами, содержавшимися в
otherArrayдобавленный до конца.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
addObjectsFromArray:(NSMutableArray) -
Оценивает данный предикат против каждого объекта в приемной антенной решетке и возвращает новый массив, содержащий объекты, для которых предикат возвращает true.
Объявление
Swift
func filteredArrayUsingPredicate(_predicate: NSPredicate) -> [AnyObject]Objective C
- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicateПараметры
predicateПредикат, против которого можно оценить элементы приемной антенной решетки.
Возвращаемое значение
Новый массив тот, содержащий объекты в приемной антенной решетке, для который
predicateвозвращает true.Обсуждение
Для получения дополнительной информации см. Руководство по программированию Предиката.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
-
Возвращает новый массив, содержащий элементы приемной антенной решетки, находящиеся в пределах пределов, указанных данным диапазоном.
Объявление
Swift
func subarrayWithRange(_range: NSRange) -> [AnyObject]Objective C
- (NSArray *)subarrayWithRange:(NSRange)rangeПараметры
rangeДиапазон в диапазоне приемной антенной решетки элементов.
Возвращаемое значение
Новый массив, содержащий элементы приемной антенной решетки, находящиеся в пределах пределов, указанных
range.Обсуждение
Если
rangeне в диапазоне приемной антенной решетки элементов,NSRangeExceptionповышен.Например, следующий пример кода создает массив, содержащий элементы, найденные в первой половине
wholeArray(принятиеwholeArrayсуществует).NSArray *halfArray;NSRange theRange;theRange.location = 0;theRange.length = [wholeArray count] / 2;halfArray = [wholeArray subarrayWithRange:theRange];
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
sortedArrayHint sortedArrayHintСвойствоАнализирует массив и возвращает «подсказку», которая ускоряют сортировка массива, когда подсказка предоставляется
sortedArrayUsingFunction:context:hint:. (только для чтения)Объявление
Swift
@NSCopying var sortedArrayHint: NSData { get }Objective C
@property(readonly, copy) NSData *sortedArrayHintОператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает новый массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено функцией сравнения
comparator.Объявление
Swift
func sortedArrayUsingFunction(_comparator: CFunctionPointer<((AnyObject!, AnyObject!, UnsafeMutablePointer<Void>) -> Int)>, contextcontext: UnsafeMutablePointer<Void>) -> [AnyObject]Objective C
- (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void *))comparatorcontext:(void *)contextОбсуждение
Новый массив содержит ссылки на элементы приемной антенной решетки, не копии их.
Функция сравнения используется для сравнения двух элементов за один раз и должна возвратиться
NSOrderedAscendingесли первый элемент меньше, чем второе,NSOrderedDescendingесли первый элемент больше, чем второе, иNSOrderedSameесли элементы равны. Каждый раз, когда функция сравнения вызвана, она передаетсяcontextкак его третий параметр. Это позволяет сравнению основываться на некотором внешнем параметре, такой как, чувствительна ли символьная сортировка к регистру или нечувствительна к регистру.Данный
anArray(массивNSNumberобъекты) и функция сравнения этого типа:NSInteger intSort(id num1, id num2, void *context){int v1 = [num1 intValue];int v2 = [num2 intValue];if (v1 < v2)return NSOrderedAscending;else if (v1 > v2)return NSOrderedDescending;elsereturn NSOrderedSame;}
Сортированная версия
anArrayсоздается таким образом:NSArray *sortedArray; sortedArray = [anArray sortedArrayUsingFunction:intSort context:NULL];
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает новый массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено функцией сравнения
comparator.Объявление
Обсуждение
Новый массив содержит ссылки на элементы приемной антенной решетки, не копии их.
Этот метод подобен
sortedArrayUsingFunction:context:, за исключением того, что это использует предоставленную подсказку для ускорения процесса сортировки. Когда Вы знаете, что массив почти сортируется, этот метод быстрее, чемsortedArrayUsingFunction:context:. Если Вы сортировали большой массив (Nзаписи), один раз, и Вы не изменяете его очень (Pдополнения и удаления, гдеPнамного меньше, чемN), тогда можно снова использовать работу, которую Вы выполнили в исходном виде путем концептуального выполнения сортировки слиянием междуN«старые» элементы иP«новые» элементы.Для получения надлежащей подсказки использовать
sortedArrayHint. Необходимо получить эту подсказку, когда исходный массив был сортирован и держится за нее, пока Вам не нужна она, после того, как был изменен массив. Подсказка вычисленаsortedArrayHintвO(N)(гдеNчисло элементов). Это предполагает, что элементы в массиве реализуют a-hashметод. Учитывая подходящую подсказку, и предполагая, что хеш-функция является «хорошей» хеш-функцией, -sortedArrayUsingFunction:context:hint:сортирует массив вO(P*LOG(P)+N)гдеPчисло, добавляет или удаляет. Это - улучшение по сравнению с видом, которому не подсказывают,O(N*LOG(N)), когдаPявляется маленьким.Подсказка является просто массивом размера
NсодержаNхеши. Для обращений необходимо внутренне составить таблицу карты, отображающую хеш на индекс. Используя эту таблицу карты на новом массиве, можно получить первое предположение для индексов, и затем вид это. Например, сортированный массив {A, B, D, E, F} с соответствующими значениями хэш-функции {25, 96, 78, 32, 17}, может подвергнуться небольшим изменениям, приводящим к содержанию {E, A, C, B, F}. Таблица отображения отображает хеши {25, 96, 78, 32, 17} к индексам {#0, № 1, № 2, № 3, № 4}. Если хеши для {E, A, C, B, F} {32, 25, 99, 96, 17}, то при помощи таблицы отображения можно ли получить вид первого порядка {#3, № 0? № 1, № 4}, поэтому создает начальный полусортированный массив {A, B, E, F}, и затем выполняет дешевую сортировку слиянием с {C}, уступающим {A, B, C, E, F}.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает копию приемной антенной решетки, сортированной, как указано данным массивом дескрипторов вида.
Объявление
Swift
func sortedArrayUsingDescriptors(_sortDescriptors: [AnyObject]) -> [AnyObject]Objective C
- (NSArray *)sortedArrayUsingDescriptors:(NSArray *)sortDescriptorsПараметры
sortDescriptorsМассив
NSSortDescriptorобъекты.Возвращаемое значение
Копия приемной антенной решетки, сортированной, как указано
sortDescriptors.Обсуждение
Первый дескриптор указывает путь первичного ключа, который будет использоваться в сортировке содержания приемной антенной решетки. Любые последующие дескрипторы используются для дальнейшего совершенствования сортировки объектов с двойными значениями. Посмотрите
NSSortDescriptorдля получения дополнительной информации.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.3 и позже.
-
Возвращает массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено методом сравнения, указанным данным селектором.
Объявление
Swift
func sortedArrayUsingSelector(_comparator: Selector) -> [AnyObject]Objective C
- (NSArray *)sortedArrayUsingSelector:(SEL)comparatorПараметры
comparatorСелектор, идентифицирующий метод для использования для сравнения двух элементов за один раз. Метод должен возвратиться
NSOrderedAscendingесли приемная антенная решетка меньшего размера, чем параметр,NSOrderedDescendingесли приемная антенная решетка является более крупной, чем параметр, иNSOrderedSameесли они равны.Возвращаемое значение
Массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено методом сравнения, указанным селектором
comparator.Обсуждение
Новый массив содержит ссылки на элементы приемной антенной решетки, не копии их.
comparatorсообщение отправляется в каждый объект в массиве и имеет как его отдельный аргумент другой объект в массиве.Например, массив
NSStringобъекты могут быть сортированы при помощиcaseInsensitiveCompare:метод, объявленный вNSStringкласс. ПринятиеanArrayсуществует, сортированная версия массива может быть создана таким образом:NSArray *sortedArray =[anArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено методом сравнения, указанным данным
NSComparatorБлок.Объявление
Swift
func sortedArrayUsingComparator(_cmptr: NSComparator) -> [AnyObject]Objective C
- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptrПараметры
cmptrБлок компаратора.
Возвращаемое значение
Массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено указанным методом сравнения
cmptr.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Возвращает массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено методом сравнения, указанным данным
NSComparatorБлок.Объявление
Swift
func sortedArrayWithOptions(_opts: NSSortOptions, usingComparatorcmptr: NSComparator) -> [AnyObject]Objective C
- (NSArray *)sortedArrayWithOptions:(NSSortOptions)optsusingComparator:(NSComparator)cmptrПараметры
optsНемного маски, указывающей опции для вида (должно ли это быть выполнено одновременно и должно ли это быть выполнено устойчиво).
cmptrБлок компаратора.
Возвращаемое значение
Массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено указанным методом сравнения
cmptr.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Конструкции и возвраты
NSStringобъект, который является результатом вмешательства данного разделителя между элементами массива.Объявление
Параметры
separatorСтрока для вмешательства между элементами массива.
Возвращаемое значение
NSStringобъект, который является результатом вмешательстваseparatorмежду элементами массива. Если массив не имеет никаких элементов, возвратыNSStringобъект, представляющий пустую строку.Обсуждение
Например, эта выборка кода записи»
here be dragons«к консоли:NSArray *pathArray = [NSArray arrayWithObjects:@"here", @"be", @"dragons", nil];NSLog(@"%@",[pathArray componentsJoinedByString:@" "]);
Специальные замечания
Каждый элемент в массиве должен обработать
description.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
componentsSeparatedByString:(NSString)
-
Строка, представляющая содержание массива, отформатированного как список свойств. (только для чтения)
Объявление
Swift
var description: String { get }Objective C
@property(readonly, copy) NSString *descriptionОператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает строку, представляющую содержание массива, отформатированного как список свойств.
Объявление
Swift
func descriptionWithLocale(_locale: AnyObject?) -> StringObjective C
- (NSString *)descriptionWithLocale:(id)localeПараметры
localeNSLocaleвозразите илиNSDictionaryобъект, указывающий опции, используемые для форматирования каждого из элементов массива (где распознано). Указатьnilесли Вы не хотите отформатированные элементы.Возвращаемое значение
Строка, представляющая содержание массива, отформатированного как список свойств.
Обсуждение
Для описания как
localeприменяется к каждому элементу в приемной антенной решетке, посмотритеdescriptionWithLocale:indent:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает строку, представляющую содержание массива, отформатированного как список свойств.
Объявление
Objective C
- (NSString *)descriptionWithLocale:(id)localeindent:(NSUInteger)levelПараметры
localeNSLocaleвозразите илиNSDictionaryобъект, указывающий опции, используемые для форматирования каждого из элементов массива (где распознано). Указатьnilесли Вы не хотите отформатированные элементы.levelУровень отступа, для создания вывода более читаемым: набор
levelк0использовать четыре пробелов для расположения с отступом, или1располагать вывод с отступом с символом табуляции.Возвращаемое значение
Строка, представляющая содержание массива, отформатированного как список свойств.
Обсуждение
Возвращенный
NSStringобъект содержит строковые представления каждого из элементов массива, в порядке, от начала до конца. Получить строковое представление данного элемента,descriptionWithLocale:indent:доходы следующим образом:Если элемент
NSStringобъект, это использовано как есть.Если элемент отвечает на
descriptionWithLocale:indent:, тот метод вызывается для получения строкового представления элемента.Если элемент отвечает на
descriptionWithLocale:, тот метод вызывается для получения строкового представления элемента.Если ни одному из вышеупомянутых условий не удовлетворяют, строковое представление элемента получено путем вызова
descriptionметод.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Пишет содержание массива к файлу в данном пути.
Объявление
Swift
func writeToFile(_path: String, atomicallyflag: Bool) -> BoolObjective C
- (BOOL)writeToFile:(NSString *)pathatomically:(BOOL)flagПараметры
pathПуть, в котором можно записать содержание массива.
Если
pathсодержит тильду (~) символ, необходимо развернуть его сstringByExpandingTildeInPathпрежде, чем вызвать этот метод.flagЕсли
YEStrue, массив записан во вспомогательный файл, и затем вспомогательный файл переименован кpath. ЕслиNOfalse, массив записан непосредственно вpath.YEStrueопция гарантирует этоpath, если это будет существовать вообще, то не будет поврежден, даже если система должна отказать во время записи.Возвращаемое значение
YEStrueесли файл записан успешно, иначеNOfalse.Обсуждение
Если содержание массива является всеми объектами списка свойств (
NSString,NSData,NSArray, илиNSDictionaryобъекты), файл, записанный этим методом, может использоваться для инициализации нового массива с методом классаarrayWithContentsOfFile:или метод экземпляраinitWithContentsOfFile:. Этот метод рекурсивно проверяет это, все содержащие в нем объекты являются объектами списка свойств перед выписыванием файла и возвратовNOfalseесли бы все объекты не являются объектами списка свойств, так как результирующий файл не был бы допустимым списком свойств.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Пишет содержание массива к расположению, указанному данным URL.
Объявление
Swift
func writeToURL(_aURL: NSURL, atomicallyflag: Bool) -> BoolObjective C
- (BOOL)writeToURL:(NSURL *)aURLatomically:(BOOL)flagПараметры
aURLРасположение, в котором можно записать массив.
flagЕсли
YEStrue, массив записан во вспомогательное расположение, и затем вспомогательное расположение переименовано кaURL. ЕслиNOfalse, массив записан непосредственно вaURL.YEStrueопция гарантирует этоaURL, если это будет существовать вообще, то не будет поврежден, даже если система должна отказать во время записи.Возвращаемое значение
YEStrueесли расположение записано успешно, иначеNOfalse.Обсуждение
Если содержание массива является всеми объектами списка свойств (
NSString,NSData,NSArray, илиNSDictionaryобъекты), расположение, записанное этим методом, может использоваться для инициализации нового массива с методом классаarrayWithContentsOfURL:или метод экземпляраinitWithContentsOfURL:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает массив, содержащий все элементы пути в приемной антенной решетке, имеющие расширения файла от данного массива.
Объявление
Swift
func pathsMatchingExtensions(_filterTypes: [AnyObject]) -> [AnyObject]Objective C
- (NSArray *)pathsMatchingExtensions:(NSArray *)filterTypesПараметры
filterTypesМассив
NSStringобъекты, содержащие расширения файла. Расширения не должны включать точку (“”.) символ.Возвращаемое значение
Массив, содержащий все элементы пути в приемной антенной решетке, имеющие расширения файла от
filterTypesмассив.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Повышает исключение.
Объявление
Swift
func addObserver(_observer: NSObject, forKeyPathkeyPath: String, optionsoptions: NSKeyValueObservingOptions, contextcontext: UnsafeMutablePointer<Void>)Objective C
- (void)addObserver:(NSObject *)observerforKeyPath:(NSString *)keyPathoptions:(NSKeyValueObservingOptions)optionscontext:(void *)contextПараметры
observerОбъект зарегистрироваться для уведомлений KVO. Наблюдатель должен реализовать метод наблюдения значения ключа
observeValueForKeyPath:ofObject:change:context:.keyPathКлючевой путь, относительно массива, свойства для наблюдения. Это значение не должно быть
nil.optionsКомбинация
NSKeyValueObservingOptionsзначения, который указывает то, что включено в уведомления наблюдения.contextПроизвольные данные, передающиеся
observerвobserveValueForKeyPath:ofObject:change:context:.Специальные замечания
NSArrayобъекты не заметны, таким образом, этот метод повышает исключение, когда вызвано наNSArrayобъект. Вместо того, чтобы наблюдать массив, наблюдайте к - многие отношение, для которого массив является набором связанных объектов.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
-
Повышает исключение.
Объявление
Параметры
observerОбъект удалить как наблюдатель.
keyPathКлючевой путь тот, относительно массива, для который
observerрегистрируется для получения уведомлений изменения KVO. Это значение не должно бытьnil.Специальные замечания
NSArrayобъекты не заметны, таким образом, этот метод повышает исключение, когда вызвано наNSArrayобъект. Вместо того, чтобы наблюдать массив, наблюдайте к - многие отношение, для которого массив является набором связанных объектов.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
-
Повышает исключение.
Объявление
Параметры
observerОбъект удалить как наблюдатель.
keyPathКлючевой путь тот, относительно набора, для который
observerрегистрируется для получения уведомлений изменения KVO. Это значение не должно бытьnil.contextКонтекст передал уведомлениям.
Специальные замечания
NSArrayобъекты не заметны, таким образом, этот метод повышает исключение, когда вызвано наNSArrayобъект. Вместо того, чтобы наблюдать массив, наблюдайте упорядоченный - многие отношение, для которого массив является набором связанных объектов.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
removeObserver (_: fromObjectsAtIndexes:forKeyPath:context:) - removeObserver:fromObjectsAtIndexes:forKeyPath:context:Повышает исключение.
Объявление
Swift
func removeObserver(_observer: NSObject, fromObjectsAtIndexesindexes: NSIndexSet, forKeyPathkeyPath: String, contextcontext: UnsafeMutablePointer<Void>)Objective C
- (void)removeObserver:(NSObject *)observerfromObjectsAtIndexes:(NSIndexSet *)indexesforKeyPath:(NSString *)keyPathcontext:(void *)contextПараметры
observerОбъект удалить как наблюдатель.
indexesИндекс установлен.
keyPathКлючевой путь тот, относительно массива, для который
observerрегистрируется для получения уведомлений изменения KVO. Это значение не должно бытьnil.contextКонтекст передал уведомлениям.
Специальные замечания
NSArrayобъекты не заметны, таким образом, этот метод повышает исключение, когда вызвано наNSArrayобъект. Вместо того, чтобы наблюдать массив, наблюдайте к - многие отношение, для которого массив является набором связанных объектов.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
addObserver (_: toObjectsAtIndexes:forKeyPath:options:context:) - addObserver:toObjectsAtIndexes:forKeyPath:options:context:Регистрирует наблюдателя для получения уведомлений наблюдателя значения ключа для указанного ключевого пути относительно объектов в индексах.
Объявление
Swift
func addObserver(_anObserver: NSObject, toObjectsAtIndexesindexes: NSIndexSet, forKeyPathkeyPath: String, optionsoptions: NSKeyValueObservingOptions, contextcontext: UnsafeMutablePointer<Void>)Objective C
- (void)addObserver:(NSObject *)anObservertoObjectsAtIndexes:(NSIndexSet *)indexesforKeyPath:(NSString *)keyPathoptions:(NSKeyValueObservingOptions)optionscontext:(void *)contextПараметры
anObserverНаблюдатель.
indexesИндекс установлен.
keyPathКлючевой путь, относительно массива, чтобы наблюдаться.
optionsОпции, которые будут включены в уведомление.
contextКонтекст передал уведомлениям.
Обсуждение
optionsопределите то, что включено в уведомления, иcontextпередается в уведомлениях.Это не просто удобный метод; вызов этого метода потенциально намного быстрее, чем повторный вызов
addObserver:forKeyPath:options:context:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.3 и позже.
-
removeObserver (_: fromObjectsAtIndexes:forKeyPath:) - removeObserver:fromObjectsAtIndexes:forKeyPath:Удаляет
anObserverиз всех уведомлений наблюдателя значения ключа, связанных с указаннымkeyPathотносительно объектов массива вindexes.Объявление
Swift
func removeObserver(_anObserver: NSObject, fromObjectsAtIndexesindexes: NSIndexSet, forKeyPathkeyPath: String)Objective C
- (void)removeObserver:(NSObject *)anObserverfromObjectsAtIndexes:(NSIndexSet *)indexesforKeyPath:(NSString *)keyPathПараметры
anObserverНаблюдатель.
indexesИндекс установлен.
keyPathКлючевой путь, относительно массива, чтобы наблюдаться.
Обсуждение
Это не просто удобный метод; вызов этого метода потенциально намного быстрее, чем повторный вызов
removeObserver:forKeyPath:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.3 и позже.
-
Вызывает
setValue:forKey:на каждом из элементов массива с помощью указанногоvalueиkey.Объявление
Swift
func setValue(_value: AnyObject?, forKeykey: String)Objective C
- (void)setValue:(id)valueforKey:(NSString *)keyПараметры
valueОбъектное значение.
keyКлюч для хранения значения.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Возвращает массив, содержащий результаты вызова
valueForKey:использованиеkeyна каждом из объектов массива.Объявление
Swift
func valueForKey(_key: String) -> AnyObject?Objective C
- (id)valueForKey:(NSString *)keyПараметры
keyКлюч для получения.
Возвращаемое значение
Значение полученного ключа.
Обсуждение
Возвращенный массив содержит
NSNullэлементы для каждого возвращающегося объектаnil.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Опции для использования поисков и вставок
indexOfObject:inSortedRange:options:usingComparator:.Объявление
Swift
struct NSBinarySearchingOptions : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var FirstEqual: NSBinarySearchingOptions { get } static var LastEqual: NSBinarySearchingOptions { get } static var InsertionIndex: NSBinarySearchingOptions { get } }Objective C
enum { NSBinarySearchingFirstEqual = (1 << 8), NSBinarySearchingLastEqual = (1 << 9), NSBinarySearchingInsertionIndex = (1 << 10), }; typedef NSUInteger NSBinarySearchingOptions;Константы
-
FirstEqualNSBinarySearchingFirstEqualУказывает, что поиск должен возвратить первый объект в диапазоне, который равен данному объекту.
Доступный в OS X v10.6 и позже.
-
LastEqualNSBinarySearchingLastEqualУказывает, что поиск должен возвратить последний объект в диапазоне, который равен данному объекту.
Доступный в OS X v10.6 и позже.
-
InsertionIndexNSBinarySearchingInsertionIndexВозвращает индекс, в котором необходимо вставить объект для поддержания сортированного массива.
Доступный в OS X v10.6 и позже.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
