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;
Доступность
Доступный в iOS 2.0 и позже.
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
то, что Вы используете, и это могло бы иметь непреднамеренные последствия. Также Вы могли использовать состав для достижения желаемого поведения.
-
Создает и возвращает пустой массив.
Объявление
Objective C
+ (instancetype)array
Возвращаемое значение
Пустой массив.
Обсуждение
Этот метод используется непостоянными подклассами
NSArray
.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Создает и возвращает массив, содержащий объекты в другом данном массиве.
Объявление
Objective C
+ (instancetype)arrayWithArray:(NSArray *)
anArray
Параметры
anArray
Массив.
Возвращаемое значение
Массив, содержащий объекты в
anArray
.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Создает и возвращает массив, содержащий содержание файла, указанного данным путем.
Объявление
Objective C
+ (NSArray *)arrayWithContentsOfFile:(NSString *)
aPath
Параметры
aPath
Путь к файлу, содержащему строковое представление массива, произведенного
writeToFile:atomically:
метод.Возвращаемое значение
Массив, содержащий содержание файла, указанного
aPath
. Возвратыnil
если содержание файла не может быть проанализировано в массив, если файл не может быть открыт или.Обсуждение
Представление в виде массива в файле, идентифицированном
aPath
должен содержать только объекты списка свойств (NSString
,NSData
,NSDate
,NSNumber
,NSArray
, илиNSDictionary
объекты). Для получения дополнительной информации см. Руководство по программированию Списка свойств. Даже если массив является непостоянным, объекты, содержавшие этим массивом, являются неизменными.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Создает и возвращает массив, содержащий содержание, указанное данным URL.
Объявление
Objective C
+ (NSArray *)arrayWithContentsOfURL:(NSURL *)
aURL
Параметры
aURL
Расположение файла, содержащего строковое представление массива, произведенного
writeToURL:atomically:
метод.Возвращаемое значение
Массив, содержащий содержание, указанное
aURL
. Возвратыnil
если содержание расположения не может быть проанализировано в массив, если расположение не может быть открыто или.Обсуждение
Представление в виде массива в расположении, идентифицированном
aURL
должен содержать только объекты списка свойств (NSString
,NSData
,NSArray
, илиNSDictionary
объекты). Даже если массив является непостоянным, объекты, содержавшие этим массивом, являются неизменными.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Создает и возвращает массив, содержащий данный объект.
Объявление
Swift
convenience init(object
anObject
: AnyObject)Objective C
+ (instancetype)arrayWithObject:(id)
anObject
Параметры
anObject
Объект.
Возвращаемое значение
Массив, содержащий единственный элемент
anObject
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.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;
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Создает и возвращает массив, включающий данное число объектов от данного массива C.
Объявление
Objective C
+ (instancetype)arrayWithObjects:(const id [])
objects
count:(NSUInteger)count
Параметры
objects
Массив C объектов.
count
Число значений от
objects
C выстраивают для включения в новый массив. Это число будет количеством нового массива — это не должно быть отрицательным или больше, чем число элементов в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;
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Инициализирует недавно выделенный массив.
Объявление
Swift
init()
Objective C
- (instancetype)init
Возвращаемое значение
Массив.
Обсуждение
После того, как неизменный массив был инициализирован таким образом, он не может быть изменен.
Этот метод является определяемым инициализатором.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Инициализирует недавно выделенный массив путем размещения в него объектов, содержавшихся в данном массиве.
Объявление
Swift
convenience init(array
anArray
: [AnyObject])Objective C
- (instancetype)initWithArray:(NSArray *)
anArray
Параметры
anArray
Массив.
Возвращаемое значение
Массив, инициализированный для содержания объектов в
anArray
. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
После того, как неизменный массив был инициализирован таким образом, он не может быть изменен.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Инициализирует недавно выделенное использование массива
anArray
как источник объектов данных для массива.Объявление
Swift
convenience init(array
array
: [AnyObject], copyItemsflag
: Bool)Objective C
- (instancetype)initWithArray:(NSArray *)
array
copyItems:(BOOL)flag
Параметры
array
Массив, содержащий объекты, с которыми можно инициализировать новый массив.
flag
Если
YES
true
, каждый объект вarray
получает acopyWithZone:
сообщение для создания копии объекта — объекты должно соответствоватьNSCopying
протокол. В среде управляемой памяти это вместоretain
обменивайтесь сообщениями объект иначе получил бы. Объектная копия тогда добавляется к возвращенному массиву.Если
NO
false
, тогда в среде управляемой памяти каждый объект вarray
просто получает aretain
обменивайтесь сообщениями, когда это будет добавлено к возвращенному массиву.Возвращаемое значение
Массив, инициализированный для содержания объектов — или если
flag
YES
true
, копии объектов — вarray
. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
После того, как неизменный массив был инициализирован таким образом, он не может быть изменен.
copyWithZone:
метод выполняет мелкую копию. Если у Вас есть набор произвольной глубины, передаваяYES
true
дляflag
параметр выполнит неизменную копию первого уровня ниже поверхности. Если Вы передаетеNO
false
переменчивость первого уровня незатронута. В любом случае переменчивость всех более глубоких уровней незатронута.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Инициализирует недавно выделенный массив с содержанием файла, указанного данным путем.
Объявление
Swift
convenience init?(contentsOfFile
aPath
: String)Objective C
- (NSArray *)initWithContentsOfFile:(NSString *)
aPath
Параметры
aPath
Путь к файлу, содержащему представление массива, произведенного
writeToFile:atomically:
метод.Возвращаемое значение
Массив, инициализированный для содержания содержания файла, указанного
aPath
илиnil
если файл не может быть открыт, или содержание файла не может быть проанализировано в массив. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Представление в виде массива в файле, идентифицированном
aPath
должен содержать только объекты списка свойств (NSString
,NSData
,NSArray
, илиNSDictionary
объекты). Даже если массив является непостоянным, объекты, содержавшие этим массивом, являются неизменными.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Инициализирует недавно выделенный массив с содержанием расположения, указанного данным URL.
Объявление
Swift
convenience init?(contentsOfURL
aURL
: NSURL)Objective C
- (NSArray *)initWithContentsOfURL:(NSURL *)
aURL
Параметры
aURL
Расположение файла, содержащего строковое представление массива, произведенного
writeToURL:atomically:
метод.Возвращаемое значение
Массив, инициализированный для содержания содержания, указанного
aURL
. Возвратыnil
если содержание расположения не может быть проанализировано в массив, если расположение не может быть открыто или. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Представление в виде массива в расположении, идентифицированном
aURL
должен содержать только объекты списка свойств (NSString
,NSData
,NSArray
, илиNSDictionary
объекты). Даже если массив является непостоянным, объекты, содержавшие этим массивом, являются неизменными.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Инициализирует недавно выделенный массив путем размещения в него объектов в списке аргументов.
Объявление
Objective C
- (instancetype)initWithObjects:(id)
firstObj
,...
Параметры
firstObj, ...
Список разделенных запятой значений объектов, заканчивающихся
nil
.Возвращаемое значение
Массив, инициализированный для включения объектов в список аргументов. Возвращенный объект мог бы отличаться, чем исходный получатель.
Обсуждение
После того, как неизменный массив был инициализирован таким образом, он не может быть изменен.
Этот метод является определяемым инициализатором.
Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
-
init (objects:count:) - initWithObjects:count:
Определяемый инициализаторИнициализирует недавно выделенный массив для включения данного числа объектов от данного массива C.
Объявление
Swift
init(objects
objects
: UnsafePointer<AnyObject?>, countcount
: Int)Objective C
- (instancetype)initWithObjects:(const id [])
objects
count:(NSUInteger)count
Параметры
objects
Массив C объектов.
count
Число значений от
objects
C выстраивают для включения в новый массив. Это число будет количеством нового массива — это не должно быть отрицательным или больше, чем число элементов вobjects
.Возвращаемое значение
Недавно выделенный массив включая первое
count
объекты отobjects
. Возвращенный объект мог бы отличаться, чем исходный получатель.Обсуждение
Элементы добавляются к новому массиву в том же порядке, в котором они появляются
objects
, до, но не включая индексcount
.После того, как неизменный массив был инициализирован таким образом, он не может быть изменен.
Этот метод является определяемым инициализатором.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает булево значение, указывающее, присутствует ли данный объект в массиве.
Объявление
Swift
func containsObject(_
anObject
: AnyObject) -> BoolObjective C
- (BOOL)containsObject:(id)
anObject
Параметры
anObject
Объект.
Возвращаемое значение
YES
true
еслиanObject
присутствует в массиве, иначеNO
false
.Обсуждение
Этот метод определяет ли
anObject
присутствует в массиве путем отправкиisEqual:
обменивайтесь сообщениями к каждому из объектов массива (и передачаanObject
как параметр каждомуisEqual:
сообщение).Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
count
СвойствоЧисло объектов в массиве.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
getObjects (_:) - getObjects:
(iOS 4.0)Копии все объекты, содержавшиеся в массиве к
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
Доступность
Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 4.0.
См. также
-
Копирует объекты, содержавшиеся в массиве, которые находятся в пределах указанного диапазона к
aBuffer
.Объявление
Swift
func getObjects(_
aBuffer
: AutoreleasingUnsafeMutablePointer<AnyObject?>, rangeaRange
: NSRange)Objective C
- (void)getObjects:(id [])
aBuffer
range:(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
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
firstObject
СвойствоПервый объект в массиве. (только для чтения)
Объявление
Swift
var firstObject: AnyObject? { get }
Objective C
@property(nonatomic, readonly) id firstObject
Обсуждение
Если массив пуст, возвраты
nil
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
lastObject
СвойствоПоследний объект в массиве. (только для чтения)
Объявление
Swift
var lastObject: AnyObject? { get }
Objective C
@property(nonatomic, readonly) id lastObject
Обсуждение
Если массив пуст, возвраты
nil
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает объект в указанном индексе.
Объявление
Objective C
- (id)objectAtIndexedSubscript:(NSUInteger)
idx
Параметры
idx
Индекс в границах массива.
Возвращаемое значение
Объект расположился в
index
.Обсуждение
Если
index
вне конца массива (т.е. еслиindex
больше, чем или равен значению, возвращенномуcount
),NSRangeException
повышен.Этот метод идентичен
objectAtIndex:
.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 6.0 и позже.
См. также
-
Возвращает массив, содержащий объекты в массиве в индексах, указанных данным индексным набором.
Объявление
Swift
func objectsAtIndexes(_
indexes
: NSIndexSet) -> [AnyObject]Objective C
- (NSArray *)objectsAtIndexes:(NSIndexSet *)
indexes
Возвращаемое значение
Массив, содержащий объекты в массиве в индексах, указанных
indexes
.Обсуждение
Возвращенные объекты находятся в порядке по возрастанию их индексов в
indexes
, так, чтобы объект в возвращенном массиве с более высоким индексом в индексах следовал за объектом с меньшим индексом вindexes
.Повышения
NSRangeException
если любое расположение вindexes
превышает границы массива,indexes
nil
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает объект перечислителя, позволяющий Вам доступ каждый объект в массиве.
Объявление
Swift
func objectEnumerator() -> NSEnumerator
Objective 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
Доступность
Доступный в iOS 2.0 и позже.
См. также
– reverseObjectEnumerator
nextObject
(NSEnumerator
) -
Возвращает объект перечислителя, позволяющий Вам доступ каждый объект в массиве в обратном порядке.
Объявление
Swift
func reverseObjectEnumerator() -> NSEnumerator
Objective C
- (NSEnumerator *)reverseObjectEnumerator
Возвращаемое значение
Объект перечислителя, позволяющий Вам доступ каждый объект в массиве, в порядке, от элемента в самом высоком индексе вниз к элементу в индексе
0
.Специальные замечания
Когда Вы используете этот метод с непостоянными подклассами
NSArray
, Вы не должны изменять массив во время перечисления.Более эффективно использовать быстрый протокол перечисления (см.
NSFastEnumeration
). Быстрое перечисление доступно на OS X v10.5 и позже и iOS 2.0 и позже.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
– objectEnumerator
nextObject
(NSEnumerator
)
-
Возвращает самый низкий индекс, соответствующее значение массива которого равно данному объекту.
Объявление
Swift
func indexOfObject(_
anObject
: AnyObject) -> IntObjective C
- (NSUInteger)indexOfObject:(id)
anObject
Параметры
anObject
Объект.
Возвращаемое значение
Самый низкий индекс, соответствующее значение массива которого равно
anObject
. Если ни один из объектов в массиве не равенanObject
, возвратыNSNotFound
.Обсуждение
Запуск в индексе
0
, каждый элемент массива отправляетсяisEqual:
сообщение до соответствия найдено, или конец массива достигнут. Этот метод передаетanObject
параметр каждомуisEqual:
сообщение. Объекты считают равными еслиisEqual:
(объявленный вNSObject
протокол) возвратыYES
true
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает самый низкий индекс в указанном диапазоне, соответствующее значение массива которого равно данному объекту.
Объявление
Objective C
- (NSUInteger)indexOfObject:(id)
anObject
inRange:(NSRange)range
Параметры
anObject
Объект.
range
Диапазон индексов в массиве, в котором можно искать
anObject
.Возвращаемое значение
Самый низкий индекс в
range
чье соответствующее значение массива равноanObject
. Если ни один из объектов вrange
равноanObject
, возвратыNSNotFound
.Обсуждение
Запуск в
range.location
, каждый элемент массива отправляетсяisEqual:
сообщение до соответствия найдено или конецrange
достигнут. Этот метод передаетanObject
параметр каждомуisEqual:
сообщение. Объекты считают равными еслиisEqual:
возвратыYES
true
.Этот метод повышает
NSRangeException
исключение, еслиrange
параметр представляет диапазон, не существующий в массиве.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает самый низкий индекс, соответствующее значение массива которого идентично данному объекту.
Объявление
Swift
func indexOfObjectIdenticalTo(_
anObject
: AnyObject) -> IntObjective C
- (NSUInteger)indexOfObjectIdenticalTo:(id)
anObject
Параметры
anObject
Объект.
Возвращаемое значение
Самый низкий индекс, соответствующее значение массива которого идентично
anObject
. Если ни один из объектов в массиве не идентиченanObject
, возвратыNSNotFound
.Обсуждение
Если их объектные адреса являются тем же, объекты считают идентичными.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает самый низкий индекс в указанном диапазоне, соответствующее значение массива которого равно данному объекту.
Объявление
Objective C
- (NSUInteger)indexOfObjectIdenticalTo:(id)
anObject
inRange:(NSRange)range
Параметры
anObject
Объект.
range
Диапазон индексов в массиве, в котором можно искать
anObject
.Возвращаемое значение
Самый низкий индекс в
range
чье соответствующее значение массива идентичноanObject
. Если ни один из объектов вrange
идентичноanObject
, возвратыNSNotFound
.Обсуждение
Если их объектные адреса являются тем же, объекты считают идентичными.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.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
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYES
true
в Блоке.Блок возвращает булево значение, указывающее ли
obj
прошедший тест. ВозвратYES
true
остановит последующую обработку массива.Возвращаемое значение
Самый низкий индекс, соответствующее значение которого в массиве проходит тест, указанный
predicate
. Если никакие объекты в массиве не проходят тест, возвратыNSNotFound
.Обсуждение
Если Блочный параметр
nil
этот метод повысит исключение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает индекс объекта в массиве, проходящем тест в данном Блоке для данного набора опций перечисления.
Объявление
Swift
func indexOfObjectWithOptions(_
opts
: NSEnumerationOptions, passingTestpredicate
: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> IntObjective C
- (NSUInteger)indexOfObjectWithOptions:(NSEnumerationOptions)
opts
passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate
Параметры
opts
Немного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
predicate
Блок для применения к элементам в массиве.
Блок берет три параметра:
obj
Элемент в массиве.
idx
Индекс элемента в массиве.
stop
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYES
true
в Блоке.Блок возвращает булево значение, указывающее ли
obj
прошедший тест.Возвращаемое значение
Индекс, соответствующее значение которого в массиве проходит тест, указанный
predicate
иopts
. Еслиopts
битовая маска указывает обратный порядок, тогда последний элемент, соответствия возвращающийся. Иначе, индекс первого соответствующего объекта возвращается. Если никакие объекты в массиве не проходят тест, возвратыNSNotFound
.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему объекту. Можно указать
NSEnumerationConcurrent
и/илиNSEnumerationReverse
как опции перечисления изменить это поведение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает индекс, от данного набора индексов, первого объекта в массиве, проходящем тест в данном Блоке для данного набора опций перечисления.
Объявление
Swift
func indexOfObjectAtIndexes(_
indexSet
: NSIndexSet, optionsopts
: NSEnumerationOptions, passingTestpredicate
: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> IntObjective C
- (NSUInteger)indexOfObjectAtIndexes:(NSIndexSet *)
indexSet
options:(NSEnumerationOptions)opts
passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate
Параметры
indexSet
Индексы объектов, по которым можно перечислить.
opts
Немного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
predicate
Блок для применения к элементам в массиве.
Блок берет три параметра:
obj
Элемент в массиве.
idx
Индекс элемента в массиве.
stop
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYES
true
в Блоке.Блок возвращает булево значение, указывающее ли
obj
прошедший тест.Возвращаемое значение
Самый низкий индекс, соответствующее значение которого в массиве проходит тест, указанный
predicate
. Если никакие объекты в массиве не проходят тест, возвратыNSNotFound
.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему элементу, указанному
indexSet
. Можно указатьNSEnumerationConcurrent
и/илиNSEnumerationReverse
как опции перечисления изменить это поведение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает индексы объектов в массиве, проходящих тест в данном Блоке.
Объявление
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
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYES
true
в Блоке.Блок возвращает булево значение, указывающее ли
obj
прошедший тест.Возвращаемое значение
Индексы, соответствующие значения которых в массиве проходят тест, указанный
predicate
. Если никакие объекты в массиве не проходят тест, возвращает пустой индексный набор.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает индексы объектов в массиве, проходящих тест в данном Блоке для данного набора опций перечисления.
Объявление
Swift
func indexesOfObjectsWithOptions(_
opts
: NSEnumerationOptions, passingTestpredicate
: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> NSIndexSetObjective C
- (NSIndexSet *)indexesOfObjectsWithOptions:(NSEnumerationOptions)
opts
passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate
Параметры
opts
Немного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
predicate
Блок для применения к элементам в массиве.
Блок берет три параметра:
obj
Элемент в массиве.
idx
Индекс элемента в массиве.
stop
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYES
true
в Блоке.Блок возвращает булево значение, указывающее ли
obj
прошедший тест.Возвращаемое значение
Индексы, соответствующие значения которых в массиве проходят тест, указанный
predicate
. Если никакие объекты в массиве не проходят тест, возвращает пустой индексный набор.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему объекту. Можно указать
NSEnumerationConcurrent
и/илиNSEnumerationReverse
как опции перечисления изменить это поведение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
indexesOfObjectsAtIndexes (_: options:passingTest:) - indexesOfObjectsAtIndexes:options:passingTest:
Возвращает индексы, от данного набора индексов, объектов в массиве, проходящих тест в данном Блоке для данного набора опций перечисления.
Объявление
Swift
func indexesOfObjectsAtIndexes(_
indexSet
: NSIndexSet, optionsopts
: NSEnumerationOptions, passingTestpredicate
: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> NSIndexSetObjective C
- (NSIndexSet *)indexesOfObjectsAtIndexes:(NSIndexSet *)
indexSet
options:(NSEnumerationOptions)opts
passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate
Параметры
indexSet
Индексы объектов, по которым можно перечислить.
opts
Немного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
predicate
Блок для применения к элементам в массиве.
Блок берет три параметра:
obj
Элемент в массиве.
idx
Индекс элемента в массиве.
stop
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYES
true
в Блоке.Блок возвращает булево значение, указывающее ли
obj
прошедший тест.Возвращаемое значение
Индексы, соответствующие значения которых в массиве проходят тест, указанный
predicate
. Если никакие объекты в массиве не проходят тест, возвращает пустой индексный набор.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему элементу, указанному
indexSet
. Можно указатьNSEnumerationConcurrent
и/илиNSEnumerationReverse
как опции перечисления изменить это поведение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
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)
obj
inSortedRange:(NSRange)r
options:(NSBinarySearchingOptions)opts
usingComparator:(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
Доступность
Доступный в iOS 4.0 и позже.
-
Отправляет в каждый объект в массиве сообщение, идентифицированное данным селектором, начиная с первого объекта и продолжающийся через массив к последнему объекту.
Объявление
Objective C
- (void)makeObjectsPerformSelector:(SEL)
aSelector
Параметры
aSelector
Селектор, идентифицирующий сообщение для отправки к объектам в массиве. Метод не должен брать параметры и не должен иметь побочного эффекта изменения приемной антенной решетки.
Обсуждение
Этот метод повышает
NSInvalidArgumentException
еслиaSelector
NULL
.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Отправляет
aSelector
обменивайтесь сообщениями к каждому объекту в массиве, начиная с первого объекта и продолжающийся через массив к последнему объекту.Объявление
Objective C
- (void)makeObjectsPerformSelector:(SEL)
aSelector
withObject:(id)anObject
Параметры
aSelector
Селектор, идентифицирующий сообщение для отправки к объектам в массиве. Метод должен взять отдельный аргумент идентификатора типа и не должен иметь побочного эффекта изменения приемной антенной решетки.
anObject
Объект отправить как параметр каждому вызову
aSelector
метод.Обсуждение
Этот метод повышает
NSInvalidArgumentException
еслиaSelector
NULL
.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.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
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYES
true
в Блоке.Обсуждение
Если Блочный параметр
nil
этот метод повысит исключение. Значения, выделенные в блоке, будут освобождены после того, как блок выполняется. Использоватьretain
явно поддержать те значения.Этот метод выполняется синхронно.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
Выполняет данный блок с помощью каждого объекта в массиве.
Объявление
Swift
func enumerateObjectsWithOptions(_
opts
: NSEnumerationOptions, usingBlockblock
: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Void)Objective C
- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)
opts
usingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block
Параметры
opts
Немного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
block
Блок для применения к элементам в массиве.
Блок берет три параметра:
obj
Элемент в массиве.
idx
Индекс элемента в массиве.
stop
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYES
true
в Блоке.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему объекту. Можно указать
NSEnumerationConcurrent
и/илиNSEnumerationReverse
как опции перечисления изменить это поведение.Этот метод выполняется синхронно.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
Выполняет данный блок с помощью объектов в массиве в указанных индексах.
Объявление
Swift
func enumerateObjectsAtIndexes(_
indexSet
: NSIndexSet, optionsopts
: NSEnumerationOptions, usingBlockblock
: (AnyObject!, Int, UnsafeMutablePointer<ObjCBool>) -> Void)Objective C
- (void)enumerateObjectsAtIndexes:(NSIndexSet *)
indexSet
options:(NSEnumerationOptions)opts
usingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block
Параметры
indexSet
Индексы объектов, по которым можно перечислить.
opts
Немного маски, указывающей опции для перечисления (должно ли это быть выполнено одновременно и должно ли это быть выполнено в обратном порядке).
block
Блок для применения к элементам в массиве.
Блок берет три параметра:
obj
Элемент в массиве.
idx
Индекс элемента в массиве.
stop
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только когда-либо устанавливать эту булевскую переменную вYES
true
в Блоке.Обсуждение
По умолчанию перечисление запускается с первого объекта и продолжается последовательно через массив к последнему элементу, указанному
indexSet
. Можно указатьNSEnumerationConcurrent
и/илиNSEnumerationReverse
как опции перечисления изменить это поведение.Этот метод выполняется синхронно.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает первый объект, содержавшийся в приемной антенной решетке, это равно объекту в другом данном массиве.
Объявление
Swift
func firstObjectCommonWithArray(_
otherArray
: [AnyObject]) -> AnyObject?Objective C
- (id)firstObjectCommonWithArray:(NSArray *)
otherArray
Параметры
otherArray
Массив.
Возвращаемое значение
Возвращает первый объект, содержавшийся в приемной антенной решетке, в которой это равно объекту
otherArray
. Если никакой такой объект не найден, возвратыnil
.Обсуждение
Этот метод использование
isEqual:
проверять на объектное равенство.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Сравнивает приемную антенную решетку с другим массивом.
Объявление
Swift
func isEqualToArray(_
otherArray
: [AnyObject]) -> BoolObjective C
- (BOOL)isEqualToArray:(NSArray *)
otherArray
Параметры
otherArray
Массив.
Возвращаемое значение
YES
true
если содержаниеotherArray
равны содержанию приемной антенной решетки, иначеNO
false
.Обсуждение
Два массива имеют равное содержание, если каждый из них содержит то же число объектов, и объекты в данном индексе в каждом массиве удовлетворяют
isEqual:
тест.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает новый массив, который является копией приемной антенной решетки с данным объектом, добавленным до конца.
Объявление
Swift
func arrayByAddingObject(_
anObject
: AnyObject) -> [AnyObject]Objective C
- (NSArray *)arrayByAddingObject:(id)
anObject
Параметры
anObject
Объект.
Возвращаемое значение
Новый массив, который является копией приемной антенной решетки с
anObject
добавленный до конца.Обсуждение
Если
anObject
nil
,NSInvalidArgumentException
повышен.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
addObject:
(NSMutableArray
) -
Возвращает новый массив, который является копией приемной антенной решетки с объектами, содержавшимися в другом массиве, добавленном до конца.
Объявление
Swift
func arrayByAddingObjectsFromArray(_
otherArray
: [AnyObject]) -> [AnyObject]Objective C
- (NSArray *)arrayByAddingObjectsFromArray:(NSArray *)
otherArray
Параметры
otherArray
Массив.
Возвращаемое значение
Новый массив, который является копией приемной антенной решетки с объектами, содержавшимися в
otherArray
добавленный до конца.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 3.0 и позже.
-
Возвращает новый массив, содержащий элементы приемной антенной решетки, находящиеся в пределах пределов, указанных данным диапазоном.
Объявление
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
Доступность
Доступный в iOS 2.0 и позже.
-
sortedArrayHint
СвойствоАнализирует массив и возвращает «подсказку», которая ускоряют сортировка массива, когда подсказка предоставляется
sortedArrayUsingFunction:context:hint:
. (только для чтения)Объявление
Swift
@NSCopying var sortedArrayHint: NSData { get }
Objective C
@property(readonly, copy) NSData *sortedArrayHint
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает новый массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено функцией сравнения
comparator
.Объявление
Swift
func sortedArrayUsingFunction(_
comparator
: CFunctionPointer<((AnyObject!, AnyObject!, UnsafeMutablePointer<Void>) -> Int)>, contextcontext
: UnsafeMutablePointer<Void>) -> [AnyObject]Objective C
- (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void *))
comparator
context:(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;
else
return NSOrderedSame;
}
Сортированная версия
anArray
создается таким образом:NSArray *sortedArray; sortedArray = [anArray sortedArrayUsingFunction:intSort context:NULL];
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает копию приемной антенной решетки, сортированной, как указано данным массивом дескрипторов вида.
Объявление
Swift
func sortedArrayUsingDescriptors(_
sortDescriptors
: [AnyObject]) -> [AnyObject]Objective C
- (NSArray *)sortedArrayUsingDescriptors:(NSArray *)
sortDescriptors
Параметры
sortDescriptors
Массив
NSSortDescriptor
объекты.Возвращаемое значение
Копия приемной антенной решетки, сортированной, как указано
sortDescriptors
.Обсуждение
Первый дескриптор указывает путь первичного ключа, который будет использоваться в сортировке содержания приемной антенной решетки. Любые последующие дескрипторы используются для дальнейшего совершенствования сортировки объектов с двойными значениями. Посмотрите
NSSortDescriptor
для получения дополнительной информации.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено методом сравнения, указанным данным селектором.
Объявление
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
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено методом сравнения, указанным данным
NSComparator
Блок.Объявление
Swift
func sortedArrayUsingComparator(_
cmptr
: NSComparator) -> [AnyObject]Objective C
- (NSArray *)sortedArrayUsingComparator:(NSComparator)
cmptr
Параметры
cmptr
Блок компаратора.
Возвращаемое значение
Массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено указанным методом сравнения
cmptr
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено методом сравнения, указанным данным
NSComparator
Блок.Объявление
Swift
func sortedArrayWithOptions(_
opts
: NSSortOptions, usingComparatorcmptr
: NSComparator) -> [AnyObject]Objective C
- (NSArray *)sortedArrayWithOptions:(NSSortOptions)
opts
usingComparator:(NSComparator)cmptr
Параметры
opts
Немного маски, указывающей опции для вида (должно ли это быть выполнено одновременно и должно ли это быть выполнено устойчиво).
cmptr
Блок компаратора.
Возвращаемое значение
Массив, перечисляющий элементы приемной антенной решетки в порядке возрастания, как определено указанным методом сравнения
cmptr
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-
Конструкции и возвраты
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
Доступность
Доступный в iOS 2.0 и позже.
См. также
componentsSeparatedByString:
(NSString
)
-
description
СвойствоСтрока, представляющая содержание массива, отформатированного как список свойств. (только для чтения)
Объявление
Swift
var description: String { get }
Objective C
@property(readonly, copy) NSString *description
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает строку, представляющую содержание массива, отформатированного как список свойств.
Объявление
Swift
func descriptionWithLocale(_
locale
: AnyObject?) -> StringObjective C
- (NSString *)descriptionWithLocale:(id)
locale
Параметры
locale
NSLocale
возразите илиNSDictionary
объект, указывающий опции, используемые для форматирования каждого из элементов массива (где распознано). Указатьnil
если Вы не хотите отформатированные элементы.Возвращаемое значение
Строка, представляющая содержание массива, отформатированного как список свойств.
Обсуждение
Для описания как
locale
применяется к каждому элементу в приемной антенной решетке, посмотритеdescriptionWithLocale:indent:
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает строку, представляющую содержание массива, отформатированного как список свойств.
Объявление
Objective C
- (NSString *)descriptionWithLocale:(id)
locale
indent:(NSUInteger)level
Параметры
locale
NSLocale
возразите илиNSDictionary
объект, указывающий опции, используемые для форматирования каждого из элементов массива (где распознано). Указатьnil
если Вы не хотите отформатированные элементы.level
Уровень отступа, для создания вывода более читаемым: набор
level
к0
использовать четыре пробелов для расположения с отступом, или1
располагать вывод с отступом с символом табуляции.Возвращаемое значение
Строка, представляющая содержание массива, отформатированного как список свойств.
Обсуждение
Возвращенный
NSString
объект содержит строковые представления каждого из элементов массива, в порядке, от начала до конца. Получить строковое представление данного элемента,descriptionWithLocale:indent:
доходы следующим образом:Если элемент
NSString
объект, это использовано как есть.Если элемент отвечает на
descriptionWithLocale:indent:
, тот метод вызывается для получения строкового представления элемента.Если элемент отвечает на
descriptionWithLocale:
, тот метод вызывается для получения строкового представления элемента.Если ни одному из вышеупомянутых условий не удовлетворяют, строковое представление элемента получено путем вызова
description
метод.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Пишет содержание массива к файлу в данном пути.
Объявление
Swift
func writeToFile(_
path
: String, atomicallyflag
: Bool) -> BoolObjective C
- (BOOL)writeToFile:(NSString *)
path
atomically:(BOOL)flag
Параметры
path
Путь, в котором можно записать содержание массива.
Если
path
содержит тильду (~) символ, необходимо развернуть его сstringByExpandingTildeInPath
прежде, чем вызвать этот метод.flag
Если
YES
true
, массив записан во вспомогательный файл, и затем вспомогательный файл переименован кpath
. ЕслиNO
false
, массив записан непосредственно вpath
.YES
true
опция гарантирует этоpath
, если это будет существовать вообще, то не будет поврежден, даже если система должна отказать во время записи.Возвращаемое значение
YES
true
если файл записан успешно, иначеNO
false
.Обсуждение
Если содержание массива является всеми объектами списка свойств (
NSString
,NSData
,NSArray
, илиNSDictionary
объекты), файл, записанный этим методом, может использоваться для инициализации нового массива с методом классаarrayWithContentsOfFile:
или метод экземпляраinitWithContentsOfFile:
. Этот метод рекурсивно проверяет это, все содержащие в нем объекты являются объектами списка свойств перед выписыванием файла и возвратовNO
false
если бы все объекты не являются объектами списка свойств, так как результирующий файл не был бы допустимым списком свойств.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Пишет содержание массива к расположению, указанному данным URL.
Объявление
Swift
func writeToURL(_
aURL
: NSURL, atomicallyflag
: Bool) -> BoolObjective C
- (BOOL)writeToURL:(NSURL *)
aURL
atomically:(BOOL)flag
Параметры
aURL
Расположение, в котором можно записать массив.
flag
Если
YES
true
, массив записан во вспомогательное расположение, и затем вспомогательное расположение переименовано кaURL
. ЕслиNO
false
, массив записан непосредственно вaURL
.YES
true
опция гарантирует этоaURL
, если это будет существовать вообще, то не будет поврежден, даже если система должна отказать во время записи.Возвращаемое значение
YES
true
если расположение записано успешно, иначеNO
false
.Обсуждение
Если содержание массива является всеми объектами списка свойств (
NSString
,NSData
,NSArray
, илиNSDictionary
объекты), расположение, записанное этим методом, может использоваться для инициализации нового массива с методом классаarrayWithContentsOfURL:
или метод экземпляраinitWithContentsOfURL:
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает массив, содержащий все элементы пути в приемной антенной решетке, имеющие расширения файла от данного массива.
Объявление
Swift
func pathsMatchingExtensions(_
filterTypes
: [AnyObject]) -> [AnyObject]Objective C
- (NSArray *)pathsMatchingExtensions:(NSArray *)
filterTypes
Параметры
filterTypes
Массив
NSString
объекты, содержащие расширения файла. Расширения не должны включать точку (“”.) символ.Возвращаемое значение
Массив, содержащий все элементы пути в приемной антенной решетке, имеющие расширения файла от
filterTypes
массив.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Повышает исключение.
Объявление
Swift
func addObserver(_
observer
: NSObject, forKeyPathkeyPath
: String, optionsoptions
: NSKeyValueObservingOptions, contextcontext
: UnsafeMutablePointer<Void>)Objective C
- (void)addObserver:(NSObject *)
observer
forKeyPath:(NSString *)keyPath
options:(NSKeyValueObservingOptions)options
context:(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
Доступность
Доступный в iOS 2.0 и позже.
-
Повышает исключение.
Объявление
Параметры
observer
Объект удалить как наблюдатель.
keyPath
Ключевой путь тот, относительно массива, для который
observer
регистрируется для получения уведомлений изменения KVO. Это значение не должно бытьnil
.Специальные замечания
NSArray
объекты не заметны, таким образом, этот метод повышает исключение, когда вызвано наNSArray
объект. Вместо того, чтобы наблюдать массив, наблюдайте к - многие отношение, для которого массив является набором связанных объектов.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Повышает исключение.
Объявление
Параметры
observer
Объект удалить как наблюдатель.
keyPath
Ключевой путь тот, относительно набора, для который
observer
регистрируется для получения уведомлений изменения KVO. Это значение не должно бытьnil
.context
Контекст передал уведомлениям.
Специальные замечания
NSArray
объекты не заметны, таким образом, этот метод повышает исключение, когда вызвано наNSArray
объект. Вместо того, чтобы наблюдать массив, наблюдайте упорядоченный - многие отношение, для которого массив является набором связанных объектов.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 5.0 и позже.
-
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 *)
observer
fromObjectsAtIndexes:(NSIndexSet *)indexes
forKeyPath:(NSString *)keyPath
context:(void *)context
Параметры
observer
Объект удалить как наблюдатель.
indexes
Индекс установлен.
keyPath
Ключевой путь тот, относительно массива, для который
observer
регистрируется для получения уведомлений изменения KVO. Это значение не должно бытьnil
.context
Контекст передал уведомлениям.
Специальные замечания
NSArray
объекты не заметны, таким образом, этот метод повышает исключение, когда вызвано наNSArray
объект. Вместо того, чтобы наблюдать массив, наблюдайте к - многие отношение, для которого массив является набором связанных объектов.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 5.0 и позже.
-
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 *)
anObserver
toObjectsAtIndexes:(NSIndexSet *)indexes
forKeyPath:(NSString *)keyPath
options:(NSKeyValueObservingOptions)options
context:(void *)context
Параметры
anObserver
Наблюдатель.
indexes
Индекс установлен.
keyPath
Ключевой путь, относительно массива, чтобы наблюдаться.
options
Опции, которые будут включены в уведомление.
context
Контекст передал уведомлениям.
Обсуждение
options
определите то, что включено в уведомления, иcontext
передается в уведомлениях.Это не просто удобный метод; вызов этого метода потенциально намного быстрее, чем повторный вызов
addObserver:forKeyPath:options:context:
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
removeObserver (_: fromObjectsAtIndexes:forKeyPath:) - removeObserver:fromObjectsAtIndexes:forKeyPath:
Удаляет
anObserver
из всех уведомлений наблюдателя значения ключа, связанных с указаннымkeyPath
относительно объектов массива вindexes
.Объявление
Swift
func removeObserver(_
anObserver
: NSObject, fromObjectsAtIndexesindexes
: NSIndexSet, forKeyPathkeyPath
: String)Objective C
- (void)removeObserver:(NSObject *)
anObserver
fromObjectsAtIndexes:(NSIndexSet *)indexes
forKeyPath:(NSString *)keyPath
Параметры
anObserver
Наблюдатель.
indexes
Индекс установлен.
keyPath
Ключевой путь, относительно массива, чтобы наблюдаться.
Обсуждение
Это не просто удобный метод; вызов этого метода потенциально намного быстрее, чем повторный вызов
removeObserver:forKeyPath:
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Вызывает
setValue:forKey:
на каждом из элементов массива с помощью указанногоvalue
иkey
.Объявление
Swift
func setValue(_
value
: AnyObject?, forKeykey
: String)Objective C
- (void)setValue:(id)
value
forKey:(NSString *)key
Параметры
value
Объектное значение.
key
Ключ для хранения значения.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает массив, содержащий результаты вызова
valueForKey:
использованиеkey
на каждом из объектов массива.Объявление
Swift
func valueForKey(_
key
: String) -> AnyObject?Objective C
- (id)valueForKey:(NSString *)
key
Параметры
key
Ключ для получения.
Возвращаемое значение
Значение полученного ключа.
Обсуждение
Возвращенный массив содержит
NSNull
элементы для каждого возвращающегося объектаnil
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Опции для использования поисков и вставок
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;
Константы
-
FirstEqual
NSBinarySearchingFirstEqual
Указывает, что поиск должен возвратить первый объект в диапазоне, который равен данному объекту.
Доступный в iOS 4.0 и позже.
-
LastEqual
NSBinarySearchingLastEqual
Указывает, что поиск должен возвратить последний объект в диапазоне, который равен данному объекту.
Доступный в iOS 4.0 и позже.
-
InsertionIndex
NSBinarySearchingInsertionIndex
Возвращает индекс, в котором необходимо вставить объект для поддержания сортированного массива.
Доступный в iOS 4.0 и позже.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.
-