Bla*_*end 1 cocoa objective-c nsdate
我有一个数组,其中包含一个名为'Game'的自定义类.每个'游戏'都包含一个NSDate.我想根据日期重新排序我的数组,以便它们按照从最新到最旧的顺序排列.我怎么能这样做?另外,我的班级'Game'包含一个NSString.我怎么能重新排序我的数组,以便游戏按字母顺序排列?
有一个真正简单的方法来做到这一点,那就是有NSSortDescriptor
:
NSArray *games = ...; //your unsorted array of Game objects
NSSortDescriptor *sortByDateDescending = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:NO];
NSArray *descriptors = [NSArray arrayWithObject:sortByDateDescending];
NSArray *sortedGames = [games sortedArrayUsingDescriptors:descriptors];
Run Code Online (Sandbox Code Playgroud)
Apple已经编写了排序代码.它只需要知道要排序的属性.这就是NSSortDescriptor
封装的内容.一旦你有一个,只需将它提供给数组,然后数组返回一个排序版本.(或者,如果你有NSMutableArray
,你可以使用它进行就地排序-sortUsingDescriptors:
)
归档时间: |
|
查看次数: |
649 次 |
最近记录: |