按NSNumber类型键对NSMutableDictionary进行排序

时间:2013-10-09 12:08:19

标签: objective-c sorting nsmutabledictionary

我需要为UITableVIewCells设置自定义UITableView的源数组。在开始我创建动态密钥(NSNumber - 单元格索引,这里有很多选项)并使用

添加它们
[dict1 setObject:cell forKey:[self returnCurrentIndex:nsnumberValue isCurrent:YES]];

稍后按索引对字典进行排序。 出乎意料

NSArray *sortedKeysArray = [dict1 keysSortedByValueUsingSelector:@selector(compare:)];

导致异常

  

' - [PTDigitInputCell copyWithZone:]:发送到无法识别的选择器   实例0x6ecf710'

我知道这个方法尝试按值排序字典(在我的情况下是自定义tableView单元格)而不是键(NSNumbers),在Apple文档中我找不到按键排序的方法。它是否存在,或者我该如何解决?

1 个答案:

答案 0 :(得分:2)

你已经过度思考了这一点。只需取出所有键然后排序数组:

NSArray *sortedKeysArray = [[dict1 allKeys] sortedArrayUsingSelector: @selector(compare:)];