我有一个关于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值"的规则。