【问题标题】:NSMutableArray - sorting a custom class [duplicate]NSMutableArray - 对自定义类进行排序[重复]
【发布时间】:2012-05-15 20:55:30
【问题描述】:

可能重复:
How to sort an NSMutableArray with custom objects in it?

我有一个自定义类,其中一个值是名称。想象一下这个类叫做Person。我想根据 name 变量对这些值进行排序,我将它们保存在 NSMutableArray 中,但是:

[testarray sortUsingSelector:@selector(compare:)];

仅适用于字符串数组。

鉴于以下情况,我正在尝试弄清楚如何按字母顺序排列数组:

Person *person;
person = [array objectAtIndex:0];
[person name];

Person *person;
person = [array objectAtIndex:1];
[person name];

如何比较两者?谢谢!

【问题讨论】:

标签: objective-c cocoa nsmutablearray


【解决方案1】:
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray = [array sortedArrayUsingDescriptors:sortDescriptors];

【讨论】:

  • 有没有可能输出的是一个 NSMutableArray,而不是一个 NSArray,特别是我使用的同一个数组(称为数组)?
  • 您是否查看过文档?您的问题可以很容易地从文档中得到解答。
  • @Kevin:查看 NSMutableArray 类参考。那里有一整节是关于排序的。
  • 我确实尝试查看 NSMutableArray 类参考,但没有对排序的参考。排序是在 NSArray 类中找到的,这对于需要的东西不是很有用。感谢您提供的任何启发。
  • 它在文档中称为“重新排列内容”而不是“排序”,但老实说,所有NSMutableArray 方法的列表并不长,其中五个以sort... 开头:developer.apple.com/library/mac/documentation/Cocoa/Reference/… .只需选择与上述NSArray 示例等效的那个即可。
猜你喜欢
  • 2013-04-03
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
  • 2012-02-12
  • 2010-10-22
  • 1970-01-01
  • 2015-08-20
  • 1970-01-01
相关资源
最近更新 更多