【发布时间】:2010-10-04 01:05:51
【问题描述】:
我有一组自定义对象。这些对象的属性之一是 NSString。我想按那个属性排序。
因为它是一个 NSString 而不是一个 NSNumber 排序有点困难。在这种情况下是否有某种类方法可以提供帮助?应该怎么做?
【问题讨论】:
标签: objective-c cocoa-touch sorting nsstring nsmutablearray
我有一组自定义对象。这些对象的属性之一是 NSString。我想按那个属性排序。
因为它是一个 NSString 而不是一个 NSNumber 排序有点困难。在这种情况下是否有某种类方法可以提供帮助?应该怎么做?
【问题讨论】:
标签: objective-c cocoa-touch sorting nsstring nsmutablearray
确实有。 NSArray 有一个 -sortedArrayUsingDescriptors: 方法。调用它,并为您的属性传递一个排序描述符的数组。例如,如果您的属性是“lastName”,那么:
NSSortDescriptor *desc = [[[NSSortDescriptor alloc] initWithKey: @"lastName" ascending: YES];
[array sortedArrayUsingDescriptors: [NSArray arrayWithObject: desc]];
【讨论】:
lastName 的 NSString 属性的对象数组。它不适用于 NSString 数组,因为它们没有 lastName 属性。