![](/img/trans.png)
[英]Objective-C NSMutableArray: Problem with sorting objects?
[英]Sorting an array of Objective-c objects
所以我有一個自定義類Foo
,它有許多成員:
@interface Foo : NSObject {
NSString *title;
BOOL taken;
NSDate *dateCreated;
}
在另一個類中,我有一個NSMutableArray
其中包含這些對象的列表。 我非常想根據dateCreated
屬性對這個數組進行排序; 我知道我可以為此編寫自己的分類器(迭代數組並根據日期重新排列)但我想知道是否有一個正確的Objective-C方法來實現這一目標?
我可以提供成員變量排序的某種排序機制會很棒。
在C ++中我曾經重載<=>運算符,這允許我按對象排序,但我有一種有趣的感覺Objective-C可能提供更好的選擇?
非常感謝
這很簡單。
首先,在您的Foo對象中,創建一個方法
- (NSComparisonResult) compareWithAnotherFoo:(Foo*) anotherFoo;
哪個會回歸
[[self dateCreated] compare:[anotherFoo dateCreated]];
最后,調用數組
[yourArray sortUsingSelector:@selector(compareWithAnotherFoo:)];
希望這有幫助,保羅
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.