我有一个带有NSMutableArray
的iOS应用,它包含许多行数据(分为3个部分),如下所示:
[PFUser object, stringData, floatValue]
. . 4.3
. . 5.9
. . 1.1
. . 9.32
. . 0.024
上图显示了如何拆分数组以及数组中存储的数据类型。但是这些数据类型不是键或任何东西。所以我不能做类似
valueForKey
的事情。数组的示例:
@[@[userObject, @"hello", @234.1441],
@[userObject, @"sdfsg", @94.33],
@[userObject, @"wrfdo", @24.897]
];
因此,从上面的示例中,您可以看到数组中包含数组。
我想通过读取包含浮点值的3段对数组进行排序。
我怎样才能做到这一点?我在网上看了很多,并且阅读了很多有关使用
NSSortDescriptor
的信息,但是我遇到的问题是,所有示例似乎总是使用简单的字符串或仅包含数字的数组。有没有办法在带有我的自定义对象的数组中使用
NSSortDescriptor
?
最佳答案
您可以使用sortUsingComparator:
[array sortUsingComparator:^(id obj1, id obj2) {
NSArray *arr1 = obj1;
NSArray *arr2 = obj2;
return [arr1[2] compare:arr2[2]];
}];
甚至(由于rmaddy的建议):
[array sortUsingComparator:^(NSArray *arr1, NSArray *arr2) {
return [arr1[2] compare:arr2[2]];
}];
如果数组不可变,则可以使用sortedArrayUsingComparator:
关于ios - 使用自定义对象对NSMutableArray进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34665357/