NSSortDescriptor
Экземпляр NSSortDescriptor
описывает основание для упорядочивания объектов путем указания свойства для использования для сравнения объектов, метод для использования для сравнения свойств, и должно ли сравнение возрастать или убывать. Экземпляры NSSortDescriptor
являются неизменными.
Вы создаете экземпляр NSSortDescriptor
путем указания ключевого пути свойства, которое будет сравнено, порядок вида (возрастание или убывание), и (дополнительно) селектор для использования для выполнения сравнения. Конструктор с тремя параметрами позволяет Вам указывать другие селекторы сравнения такой как caseInsensitiveCompare:
и localizedCompare:
. Сортировка повышает исключение, если объекты, которые будут сортированы, не реагируют на селектор сравнения дескриптора вида.
Существует много ситуаций, в которых можно использовать дескрипторы вида, например:
Сортировать массив (экземпляр
NSArray
илиNSMutableArray
— посмотритеsortedArrayUsingDescriptors:
иsortUsingDescriptors:
)Непосредственно сравнить два объекта (см. compareObject:toObject:)
Указать, как элементы в табличном представлении должны быть расположены (см.
sortDescriptors
)Указать, как элементы, которыми управляет контроллер массива, должны быть расположены (см.
sortDescriptors
)При использовании Базовых Данных чтобы указать, что упорядочивание объектов возвратилось из запроса выборки (см.
sortDescriptors
)
Наследование
-
NSObject
-
NSSortDescriptor
-
CKLocationSortDescriptor
-
NSObject
-
NSSortDescriptor
-
CKLocationSortDescriptor
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
NSCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.3 и позже.
-
Создает и возвращается
NSSortDescriptor
с указанным ключом и упорядочиванием.Объявление
Objective C
+ (instancetype)sortDescriptorWithKey:(NSString *)
key
ascending:(BOOL)ascending
Параметры
key
Ключ свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascending
YES
true
если получатель указывает сортировку в порядке возрастания, иначеNO
false
.Возвращаемое значение
NSSortDescriptor
инициализированный с указанным ключом и упорядочиванием.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвраты
NSSortDescriptor
объект, инициализированный с данным ключевым путем свойства и порядком сортировки, и с селектором сравнения по умолчанию.Объявление
Swift
init(key
keyPath
: String, ascendingascending
: Bool)Objective C
- (instancetype)initWithKey:(NSString *)
keyPath
ascending:(BOOL)ascending
Параметры
keyPath
Ключ свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascending
YES
true
если получатель указывает сортировку в порядке возрастания, иначеNO
false
.Возвращаемое значение
NSSortDescriptor
объект, инициализированный с ключевым путем свойства, указаннымkeyPath
, порядок сортировки, указанныйascending
, и селектор сравнения по умолчанию (compare:
).Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.3 и позже.
См. также
-
Создает NSSortDescriptor с указанным упорядочиванием и селектором сравнения.
Объявление
Objective C
+ (instancetype)sortDescriptorWithKey:(NSString *)
key
ascending:(BOOL)ascending
selector:(SEL)selector
Параметры
key
Ключ свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascending
YES
true
если получатель указывает сортировку в порядке возрастания, иначеNO
false
.selector
Метод для использования при сравнении свойств объектов, например
caseInsensitiveCompare:
илиlocalizedCompare:
. Селектор должен указать метод, реализованный значением свойства, идентифицированногоkeyPath
. Селектор, используемый для сравнения, передается единственный параметр, объект выдержать сравнение сself
, и должен возвратить надлежащееNSComparisonResult
постоянный. Селектор должен иметь ту же сигнатуру метода как:- (NSComparisonResult)localizedCompare:(NSString *)aString
Возвращаемое значение
NSSortDescriptor
объект, инициализированный с ключевым путем свойства, указаннымkeyPath
, порядок сортировки, указанныйascending
, и селектор, указанныйselector
.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвраты
NSSortDescriptor
объект, инициализированный с данным ключевым путем свойства, порядком сортировки и селектором сравнения.Объявление
Swift
init(key
keyPath
: String, ascendingascending
: Bool, selectorselector
: Selector)Objective C
- (instancetype)initWithKey:(NSString *)
keyPath
ascending:(BOOL)ascending
selector:(SEL)selector
Параметры
keyPath
Ключ свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascending
YES
true
если получатель указывает сортировку в порядке возрастания, иначеNO
false
.selector
Метод для использования при сравнении свойств объектов, например
caseInsensitiveCompare:
илиlocalizedCompare:
. Селектор должен указать метод, реализованный значением свойства, идентифицированногоkeyPath
. Селектор, используемый для сравнения, передается единственный параметр, объект выдержать сравнение сself
, и должен возвратить надлежащееNSComparisonResult
постоянный. Селектор должен иметь ту же сигнатуру метода как:- (NSComparisonResult)localizedCompare:(NSString *)aString
Возвращаемое значение
NSSortDescriptor
объект, инициализированный с ключевым путем свойства, указаннымkeyPath
, порядок сортировки, указанныйascending
, и селектор, указанныйselector
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.3 и позже.
См. также
-
Создает и возвращается
NSSortDescriptor
объект, инициализированный, чтобы сделать с данным упорядочиванием и блоком компаратора.Объявление
Objective C
+ (instancetype)sortDescriptorWithKey:(NSString *)
key
ascending:(BOOL)ascending
comparator:(NSComparator)cmptr
Параметры
key
Ключ свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascending
YES
true
если получатель указывает сортировку в порядке возрастания, иначеNO
false
.cmptr
Блок компаратора.
Возвращаемое значение
NSSortDescriptor
инициализированный с указанным ключом, упорядочиванием и компаратором.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвраты
NSSortDescriptor
объект, инициализированный, чтобы сделать с данным упорядочиванием и блоком компаратора.Объявление
Swift
init(key
key
: String, ascendingascending
: Bool, comparatorcmptr
: NSComparator)Objective C
- (instancetype)initWithKey:(NSString *)
key
ascending:(BOOL)ascending
comparator:(NSComparator)cmptr
Параметры
key
Ключ свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascending
YES
true
если получатель указывает сортировку в порядке возрастания, иначеNO
false
.cmptr
Блок компаратора.
Возвращаемое значение
NSSortDescriptor
инициализированный с указанным ключом, упорядочиванием и компаратором.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.
-
возрастание возрастание
СвойствоБулево значение, указывающее, указывает ли получатель сортировку в порядке возрастания. (только для чтения)
Объявление
Swift
var ascending: Bool { get }
Objective C
@property(readonly) BOOL ascending
Обсуждение
YES
true
если получатель указывает сортировку в порядке возрастания, иначеNO
false
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.3 и позже.
-
Ключевой путь свойства получателя. (только для чтения)
Обсуждение
Этот ключевой путь указывает свойство, сравненное во время сортировки.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.3 и позже.
-
Селектор получатель указывает для использования при сравнении объектов.
Объявление
Swift
var selector: Selector { get }
Objective C
@property(readonly) SEL selector
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.3 и позже.
-
Возвраты
NSComparisonResult
значение, указывающее упорядочивание двух данных объектов.Объявление
Swift
func compareObject(_
object1
: AnyObject, toObjectobject2
: AnyObject) -> NSComparisonResultObjective C
- (NSComparisonResult)compareObject:(id)
object1
toObject:(id)object2
Параметры
object1
Объект соответствовать
object2
. Этот объект должен иметь свойство доступное использование ключевого пути, указанного ключом.Это значение не должно быть
nil
. Если значениеnil
, поведение не определено и может измениться в будущих версиях OS X.object2
Объект соответствовать
object1
. Этот объект должен иметь свойство доступное использование ключевого пути, указанного ключом.Это значение не должно быть
nil
. Если значениеnil
, поведение не определено и может измениться в будущих версиях OS X.Возвращаемое значение
NSOrderedAscending
еслиobject1
меньше, чемobject2
,NSOrderedDescending
еслиobject1
больше, чемobject2
, илиNSOrderedSame
еслиobject1
равноobject2
.Обсуждение
Упорядочивание определяется путем сравнения, использование селектора указало селектор, значения свойств, указанных ключом
object1
иobject2
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.3 и позже.
-
Дескриптор вида с инвертированным порядком сортировки. (только для чтения)
Объявление
Swift
var reversedSortDescriptor: AnyObject! { get }
Objective C
@property(readonly, retain) id reversedSortDescriptor
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.3 и позже.
-
Вызовите дескриптор вида, надежно декодировавшийся для разрешения оценки.
Объявление
Swift
func allowEvaluation()
Objective C
- (void)allowEvaluation
Обсуждение
При безопасном декодировании
NSSortDescriptor
объект закодировал использованиеNSSecureCoding
, оценка отключена, потому что потенциально небезопасно оценить дескрипторы, Вы выходите из архива.Перед включением оценки необходимо проверить ключевые пути, селекторы, и т.д. чтобы гарантировать, что не будет выполняться никакой ошибочный или вредоносный код. Как только у Вас есть preflighted дескриптор вида, можно включить получатель для оценки путем вызова
allowEvaluation
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.9 и позже.
-
компаратор компаратор
СвойствоNSComparator
для дескриптора вида. (только для чтения)Объявление
Swift
var comparator: NSComparator? { get }
Objective C
@property(readonly) NSComparator comparator
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.6 и позже.