I can't find it documented that passing nil
for the key is safe and means to use the object itself. So, I'd be hesitant to use it. You can use @"self"
instead.
How to use NSSortDescriptor without key
-
30-07-2022 - |
Question
I have NSSet
of NSString
s. I want to return alphabetically sorted array of NSSet
elements with method – sortedArrayUsingDescriptors:
.
I have read NSSortDescriptor
documentation and still have no clue how to create one for simple NSString
objects.
What key
should I specify? Is there a better approach than using NSSortDescriptor
?
Solution
OTHER TIPS
NSSet *sets = [NSSet setWithObjects:@"Peter", @"Brennon", @"Zach", @"Yan", @"Akila", nil];
NSSortDescriptor *desc = [[NSSortDescriptor alloc] initWithKey:nil ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];
NSArray *sorted = [sets sortedArrayUsingDescriptors:@[desc]];
Logs out:
(
Akila,
Brennon,
Peter,
Yan,
Zach
)
Just use nil
as the key. E.g.
[set sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:nil ascending:YES selector:@selector(compare:)]]]
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow