iOS目标C:自定义排序NSarray不是默认的升序/降序



我有一个关于nsarray自定义排序的问题。我目前有一个讨厌的排序键(命令状态),可以采取3个值(5,6,7)。到目前为止,我可以像这样对它进行升序/降序排序:

NSSortDescriptor *descr =  [NSsortDescriptor] sortDescriptorwithKey: @"commandesState" ascending:NO];

我想要实现的是将nsarray按6,5,7的顺序排序。有人能帮我展示一下我是如何做到这一点的吗?

提前谢谢。

迭代for循环并相应地管理或订购对象。

创建另一个以5,6,7为键的字典,值包含对象数组,其中键command State是字典键。

然后从上面的字典中通过添加元素来创建一个数组。

您可以使用

NSArray *sortedArray;
sortedArray = [notSortedArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
  if (a.value == 6) {
    return true;
  } else if (b.value == 6) {
    return false;
  } else {
    return a.value > return b.value;
  }
}];

Bassally是一个正常的asc排序,但有一个超过"6值"的规则。

最新更新