我有一组自定义对象PNMessage objects
。 PNMessage
对象有一个属性是另一个名为PNDate
的对象,PNDate
有一个名为date
的属性,我想按{{1}对我的数组进行排序}&n;的日期属性。
我想我可能会使用排序描述符,但我不知道如何向下钻取属性对象PNDate,然后按PNDate日期属性排序。
这是一个代表:
PNDate
- 我的阵列
myArray
- 我的数组中的自定义对象。
PNMessage
- 主要自定义对象的属性(也是对象)。
PNDate
- 这是我想要分类我的阵列的财产。
这可能吗?
这就是我尝试的但是我知道它错了,我似乎无法深入探讨如何深入到该属性来对数组进行排序:
date
非常感谢任何帮助!
答案 0 :(得分:3)
您可以使用比较器块,而不是使用排序描述符。
NSArray *sortedEventArray =
[self.chatHistory sortedArrayUsingComparator:^NSComparisonResult(PNMessage *m1, PNMessage *m2) {
return [m1.date compare:m2.date];
}];
请注意,PNDate
类必须有一个名为-[PNDate compare:]
的实例方法,该方法返回NSComparisonResult
才能生效。