2010-09-16 85 views
0

我创建了一个带有字符串名称的数组,如下所示:如何排序字符串数组

NSMutableArray *strings = [[NSMutableArray alloc]init]; 
[string addObject:@"string1"]; 
[string addObject:@"string2"]; 
[string addObject:@"string3"]; 
[string addObject:@"string4"]; 

我创建了一个按钮。每当我点击按钮时,字符串都会被交换,我该怎么办呢?

+0

可能的重复[如何排序NSMutableArray中包含NSStrings的NSMutableArray?](http://stackoverflow.com/questions/1103317/how-can-one-sort-an-nsmutablearray-of-nsmutablearrays-containing- nsstrings) – 2010-09-16 14:55:01

+0

另请参见[如何排序与自定义对象的NSMutableArray?](http://stackoverflow.com/questions/805547/how-to-sort-an-nsmutablearray-with-custom-objects-in-it ) – 2010-09-16 14:55:44

回答

5

编辑:

看起来,你真的不缺乏基本知识。你把你的对象后,您可以调用的NSArray这个方法:

这种方法是做你的工作,最简单的方法:

NSArray *sortedStrings = [strings sortedArrayUsingSelector:@selector(compare:)]; 

更多sortedArrayUsingSelector:

0

你可以看到NSArray class reference约以下方法。

排序

  • sortedArrayHint
  • sortedArrayUsingFunction:上下文:
  • sortedArrayUsingFunction:上下文:提示:
  • sortedArrayUsingDescriptors:
  • sortedArrayUsingSelector:
  • sortedArrayUsingComparator:
  • sortedA rrayWithOptions:usingComparator:

至于你的问题,你可以通过
[strings sortedArrayUsingSelector:@selector(compare:)]排序字符串。

+0

[字符串sortedArrayUsingSelector:@selector(比较:)]我尝试使用这个,但字符串不交换。 – MaheshBabu 2010-09-16 13:46:48

+0

你的字符串看起来像上面那样吗?它是否局限于某些特定语言(例如中文,日文)? – vodkhang 2010-09-16 14:04:05

+1

该方法可以正常工作,但是您将以已排序的顺序将字符串添加到NSArray中。 尝试把“string4”放在第一个位置然后运行。 – vaitrafra 2010-09-16 14:25:54