按对象的属性sortingNSMutableArray
所以这是一个关于对自定义对象的NSMutableArray
进行sorting的最佳方法的一个相当基本的问题。
我有一个自定义对象的NSMutableArray
,每个对象与NSString
和NSDate
一起去。 我需要通过最新的对象(如此最新的NSDate
)sorting数组,我敢肯定,我可以简单地使用NSDate compare: NSDate
如果这是一个NSDate
的数组,但因为我需要所有的对象进行sorting,而不是只是date,我不确定是否可以使用该方法。
就伪代码而言,我需要:查看单个对象,确定当前对象的NSDate
是否是数组中的下一个最大的对象,如果是,则移动对象,而不仅仅是date。
再次,这是我甚至犹豫要问,因为它是如此基本,但我不想写一些非常低效的方法,如果有一个预先存在的类方法,将基本上做我想做的,search一个对象的数组子属性并根据子属性对对象进行sorting。
谢谢你的帮助。
NSSortDescriptors
使这非常简单。 使用NSMutableArray
您可以使用sortUsingDescriptors:
对现有数组进行sortUsingDescriptors:
使用sortUsingDescriptors:
创build一个新数组sortedArrayUsingDescriptors:
//This will sort by stringProperty ascending, then dateProperty ascending [mutable_array sortUsingDescriptors: @[ [NSSortDescriptor sortDescriptorWithKey:@"stringProperty" ascending:YES], [NSSortDescriptor sortDescriptorWithKey:@"dateProperty" ascending:YES] ]];
这个小片段对我很好:
[students sortUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]]];