我有一个NSMutableArray,它包含对象作为数据,它包含三个值,即日期,名称和数量.
所以我的数组看起来像这样
date name amount
08/12 atest 1000
08/13 btest 200
08/14 ctest 3000
08/15 dtest 4000
08/13 etest 5000
Run Code Online (Sandbox Code Playgroud)
现在我正在使用此代码对数据进行排序
金额
[tableAry sortUsingDescriptors:[NSArray arrayWithObject:
[NSSortDescriptor sortDescriptorWithKey:@"amount"
ascending:NO selector:@selector(caseInsensitiveCompare:)]]];
Run Code Online (Sandbox Code Playgroud)
但它说我的200记录大于1000记录排序数据是这样的:
5000
4000
3000
200
1000
Run Code Online (Sandbox Code Playgroud)
看起来金额存储为NSString值.您可以按照您链接的答案中描述的方式修复它(即通过将数字的字符串表示替换为存储为的数字NSNumber),或者通过添加intValue到描述符来解决它:
[tableAry sortUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"amount.intValue" ascending:NO]]];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |