2010-09-16 87 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