我正在构建iOS应用。我需要对NSMutableArray进行排序,所以我使用了NSSortDescriptor。但是,当我运行我的应用时,我很遗憾地获得了Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSTaggedPointerString 0xa000000343730314> valueForUndefinedKey:]: this class is not key value coding-compliant for the key ID.'
。
这是我使用的代码:
customerArray = [[NSMutableArray alloc] initWithArray:[rootDict allKeys]];
NSSortDescriptor *numberSorter = [NSSortDescriptor sortDescriptorWithKey:@"ID" ascending:YES selector:@selector(localizedStandardCompare:)];
[customerArray sortUsingDescriptors:@[numberSorter]];
之前,当我刚刚使用customerArray = [[NSMutableArray alloc] initWithArray:[rootDict allKeys]];
时,我没有遇到任何问题。一旦我添加了另外两行,我就开始遇到问题了。我检查了它使用断点崩溃的位置,发现它在尝试运行最后一行([customerArray sortUsingDescriptors:@[numberSorter]];
)后崩溃。
任何帮助都将不胜感激,如果需要,我很乐意添加更多代码。
答案 0 :(得分:0)
由于您的错误指出valueForUndefinedKey
,这意味着NSMutableArray
中的对象,即您的案例中的customerArray没有名称ID的密钥(未定义密钥)。
您需要检查NSMutableArray中的对象。
希望这能解决你的问题。