簡體   English   中英

如何按字母順序重新排序NSArray的元素(NSString)?

[英]How to reorder elements (NSString) of an NSArray alphabetically?

如何按字母順序重新排序NSArray的元素(NSString)?

NSSortDescriptor對於其元素只是NSString實例的數組進行排序是過分的。

NSArray *sortedArray = [unsortedArray sortedArrayUsingSelector: @selector(compare:)];

如果您希望重新排序NSMutableArray實例的元素而不是實例化其元素排序的新數組,那么有一種方法:

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

當您有一個大型對象為您管理數組時,請使用NSSortDescriptor實例,如NSArrayController或NSTableView。 如果是這種情況,並且元素只是NSString的實例,那么@ iHS的答案是正確的。

您可以使用NSSortDescriptor類進行排序

NSSortDescriptor * sortDesc = [[NSSortDescriptor alloc] initWithKey:@”self” ascending:YES];
[array sortUsingDescriptors:[NSArray arrayWithObject:sortDesc]];
[sortDesc release];

有關更多信息,請查看

1) NSSortDescriptor

2) 排序-NSArrays

你可以使用sortDescriptor

 NSSortDescriptor *descriptor = [[[NSSortDescriptor alloc] initWithKey:@"yourKey" ascending:YES selector:@selector(caseInsensitiveCompare:)] autorelease];
NSArray * sortedArray =
    [yourArray sortedArrayUsingDescriptors:descriptor];

Swift 3.0:

categories是Category - > [Category]的數組。

let sortDescriptor = NSSortDescriptor(key: "name", ascending: true, selector: #selector(NSString.caseInsensitiveCompare(_:)))                                                  
let orderedCategories = (categories as NSArray).sortedArray(using: [sortDescriptor])

用您的自定義對象數組替換類別。 如果您使用常規NSArray,請將(categories as NSArray)替換(categories as NSArray)您的陣列。

當然可以這樣做嘗試使用NSSortDescriptor從已經要求幫助顯示按字母順序iphone顯示數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM