4
我有一個從自定義類創建的對象數組。每個對象都有一個NSDate屬性。根據日期屬性排序所有這些對象最簡單快捷的方法是什麼? (從最近到最近的順序)。按日期屬性排序自定義類對象的數組
我有一個從自定義類創建的對象數組。每個對象都有一個NSDate屬性。根據日期屬性排序所有這些對象最簡單快捷的方法是什麼? (從最近到最近的順序)。按日期屬性排序自定義類對象的數組
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"thisIsTheNameOfYourDateProperty" ascending:NO];
NSArray *orderedArray = [arrayOfCustomObjects sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
試試這個:
NSArray* newArray = [array sortedArrayUsingComparator: ^NSComparisonResult(MyClass *c1, MyClass *c2)
{
NSDate *d1 = c1.date;
NSDate *d2 = c2.date;
return [d1 compare:d2];
}];
也有一些方法來排序代替可變數組類似於以上。
編輯:我知道還有其他方法可以使用較少的代碼來做到這一點,但我確實更喜歡各種事物的塊枚舉器,所以我發現它在實踐中保持有用。你也可以調整這些以使用更多的非標準排序(整數與對象),並使用NSLog()...實際記錄發生的情況。