我有一个名为nsmarrMedicineInfo的nsmutablearray。我想使用NSSortDescriptor对元素进行排序。当我执行以下代码时,它显示NSUnknownKeyException。我找不到数组的关键。

NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"sort" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)] autorelease];
NSArray *sort = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray = [nsmarrMedicineInfo sortedArrayUsingDescriptors:sort];

最佳答案

键将是数组nsmarrMedicineInfo的自定义对象的属性(键-值对)之一,您希望在该对象上对数组进行排序。
如苹果的文档:


  NSSortDescriptor的实例描述了订购对象的基础
  通过指定用于比较对象的属性,该方法
  用于比较属性,以及是否应该比较
  上升或下降。


但是,如果nsmarrMedicinInfo对象仅包含字符串,则可以使用sortedArrayUsingSelector方法而不是sortDescriptor

谢谢,

关于iphone - 在iPhone中实现NSSortDescriptor?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8305848/

10-10 17:55