Iphone 按字母顺序排序可变数组
我有一个nsmutable数组,其中近50-60个对象有不同的名称,我可以按字母顺序对数组排序吗?可能吗,如何排序?绝对可以,您可以使用:Iphone 按字母顺序排序可变数组,iphone,objective-c,xcode,nsmutablearray,nsarray,Iphone,Objective C,Xcode,Nsmutablearray,Nsarray,我有一个nsmutable数组,其中近50-60个对象有不同的名称,我可以按字母顺序对数组排序吗?可能吗,如何排序?绝对可以,您可以使用: [myArray sortUsingSelector:@selector(compare:)]; 如果阵列具有自定义对象,则需要对这些对象实施排序方法: @implementation myCustomObject ... -(NSComparisonResult) compare:(myCustomObject*) other {
[myArray sortUsingSelector:@selector(compare:)];
如果阵列具有自定义对象,则需要对这些对象实施排序方法:
@implementation myCustomObject
...
-(NSComparisonResult) compare:(myCustomObject*) other {
return [self.name compare:other.name];
}
@end
当然,您可以使用:
[myArray sortUsingSelector:@selector(compare:)];
如果阵列具有自定义对象,则需要对这些对象实施排序方法:
@implementation myCustomObject
...
-(NSComparisonResult) compare:(myCustomObject*) other {
return [self.name compare:other.name];
}
@end
对于这样的简单排序,我喜欢使用排序描述符 假设您有一个可变的对象数组,其类具有name NSString属性:
NSSortDescriptor *sort=[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:NO];
[myArray sortUsingDescriptors:[NSArray arrayWithObject:sort]];
对于这样的简单排序,我喜欢使用排序描述符 假设您有一个可变的对象数组,其类具有name NSString属性:
NSSortDescriptor *sort=[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:NO];
[myArray sortUsingDescriptors:[NSArray arrayWithObject:sort]];
TechZen的方法工作得很好,但如果使用NSSortDescriptor的+SortDescriptor with key:ascending:selector:,并将localizedCompare:作为选择器传递,效果会更好。通过这种方式,排序被本地化为用户的语言,这可以在字符串比较中起到很大的作用。TechZen的方法工作得很好,但是如果使用NSSortDescriptor的+SortDescriptor with key:ascending:selector:,将localizedCompare:作为选择器传递,则效果会更好。通过这种方式,排序被本地化为用户的语言,这可以在字符串比较中产生很大的差异
myArray=[myDict keysSortedByValueUsingSelector:@selector(compare:)];
只是为我工作
只是为我工作 简单数组的一行回答很好。简单数组的一行回答很好。这将以W开头,而不是A。如何以A开头?我得到了升序首字母大写和小写。比如A到Z,然后A到Z。我需要做什么。这将以W开始,而不是A。如何以A开始?我得到了升序第一个大写字母和小写字母。比如A到Z,然后A到Z。我需要做的是。。和以前的答案有什么区别?嗯。。与先前的答案有什么不同?