Iphone 按对象对NSMutableArray进行排序';s属性

Iphone 按对象对NSMutableArray进行排序';s属性,iphone,sorting,nsmutablearray,nsdate,Iphone,Sorting,Nsmutablearray,Nsdate,因此,这是一个关于排序自定义对象的NSMutableArray的最佳方法的相当基本的问题 我有一个自定义对象的NSMutableArray,每个对象都有一个NSString和NSDate。我需要按最新的对象对数组进行排序(因此最新的NSDate),如果这是一个只包含NSDate的数组,我很确定我可以简单地使用NSDate compare:NSDate,但是因为我需要对所有对象进行排序,而不仅仅是对日期进行排序,所以我不确定是否可以使用该方法 关于伪代码,我需要:查看单个对象,确定当前对象的NSD

因此,这是一个关于排序自定义对象的
NSMutableArray
的最佳方法的相当基本的问题

我有一个自定义对象的
NSMutableArray
,每个对象都有一个
NSString
NSDate
。我需要按最新的对象对数组进行排序(因此最新的
NSDate
),如果这是一个只包含
NSDate
的数组,我很确定我可以简单地使用
NSDate compare:NSDate
,但是因为我需要对所有对象进行排序,而不仅仅是对日期进行排序,所以我不确定是否可以使用该方法

关于伪代码,我需要:查看单个对象,确定当前对象的
NSDate
是否是数组中的下一个最大值,如果是,则移动对象,而不仅仅是日期

同样,这是我甚至不敢问的问题,因为它非常基本,但如果有一个预先存在的类方法基本上可以实现我想要的功能,搜索对象的子属性数组,并根据子属性对对象进行排序,我不想写一些效率极低的方法

谢谢你的帮助。

s让这一切变得非常简单。使用
NSMutableArray
可以使用
sortusingsdescriptor:
对现有数组进行排序,使用不可变数组,可以使用
sortusingsdescriptor:

//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]]];

谢谢,这似乎正是我想要的!看起来我也应该做更多的研究,这个问题正是我将来的问题: