使用值对NSDictionary的NSArray进行排序

Hur*_*rkS 2 objective-c nsdictionary nsarray ios

我有一个NSArrayNSDictionaries,在NSDictionary我有叫其保存为"ROWID"的元素NSString,但是一切都保存在它是一个数字..但仍然是一个字符串值.

我想知道如何根据这个值对数组进行排序,但是在排序1-100方面,目前当我对它进行排序时,它首先出现....当它应该是1-10时.

这就是我的排序方式.

NSArray *tempSortedItemsArray = [itemArray sortedArrayUsingDescriptors:
                                     @[[NSSortDescriptor
                                        sortDescriptorWithKey:@"rowID" ascending:YES]]];
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

Lee*_*ena 6

试试这个 :-

NSArray *aSortedArray = [itemArray sortedArrayUsingComparator:^(NSMutableDictionary *obj1,NSMutableDictionary *obj2) {
    NSString *num1 =[obj1 objectForKey:@"rowID"];
    NSString *num2 =[obj2 objectForKey:@"rowID"];
    return (NSComparisonResult) [num1 compare:num2 options:(NSNumericSearch)];
}];
Run Code Online (Sandbox Code Playgroud)