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 *)keyascending:(BOOL)ascendingПараметры
keyКлюч свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascendingYEStrueесли получатель указывает сортировку в порядке возрастания, иначеNOfalse.Возвращаемое значение
NSSortDescriptorинициализированный с указанным ключом и упорядочиванием.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвраты
NSSortDescriptorобъект, инициализированный с данным ключевым путем свойства и порядком сортировки, и с селектором сравнения по умолчанию.Объявление
Swift
init(keykeyPath: String, ascendingascending: Bool)Objective C
- (instancetype)initWithKey:(NSString *)keyPathascending:(BOOL)ascendingПараметры
keyPathКлюч свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascendingYEStrueесли получатель указывает сортировку в порядке возрастания, иначеNOfalse.Возвращаемое значение
NSSortDescriptorобъект, инициализированный с ключевым путем свойства, указаннымkeyPath, порядок сортировки, указанныйascending, и селектор сравнения по умолчанию (compare:).Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.3 и позже.
См. также
-
Создает NSSortDescriptor с указанным упорядочиванием и селектором сравнения.
Объявление
Objective C
+ (instancetype)sortDescriptorWithKey:(NSString *)keyascending:(BOOL)ascendingselector:(SEL)selectorПараметры
keyКлюч свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascendingYEStrueесли получатель указывает сортировку в порядке возрастания, иначеNOfalse.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(keykeyPath: String, ascendingascending: Bool, selectorselector: Selector)Objective C
- (instancetype)initWithKey:(NSString *)keyPathascending:(BOOL)ascendingselector:(SEL)selectorПараметры
keyPathКлюч свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascendingYEStrueесли получатель указывает сортировку в порядке возрастания, иначеNOfalse.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 *)keyascending:(BOOL)ascendingcomparator:(NSComparator)cmptrПараметры
keyКлюч свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascendingYEStrueесли получатель указывает сортировку в порядке возрастания, иначеNOfalse.cmptrБлок компаратора.
Возвращаемое значение
NSSortDescriptorинициализированный с указанным ключом, упорядочиванием и компаратором.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвраты
NSSortDescriptorобъект, инициализированный, чтобы сделать с данным упорядочиванием и блоком компаратора.Объявление
Swift
init(keykey: String, ascendingascending: Bool, comparatorcmptr: NSComparator)Objective C
- (instancetype)initWithKey:(NSString *)keyascending:(BOOL)ascendingcomparator:(NSComparator)cmptrПараметры
keyКлюч свойства для использования при выполнении сравнения. В сравнении к свойству получают доступ с помощью кодирования значения ключа (см., что Значение ключа Кодирует Руководство по программированию).
ascendingYEStrueесли получатель указывает сортировку в порядке возрастания, иначеNOfalse.cmptrБлок компаратора.
Возвращаемое значение
NSSortDescriptorинициализированный с указанным ключом, упорядочиванием и компаратором.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
возрастание возрастаниеСвойствоБулево значение, указывающее, указывает ли получатель сортировку в порядке возрастания. (только для чтения)
Объявление
Swift
var ascending: Bool { get }Objective C
@property(readonly) BOOL ascendingОбсуждение
YEStrueесли получатель указывает сортировку в порядке возрастания, иначеNOfalse.Оператор импорта
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)object1toObject:(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 и позже.
