![](/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.