要对我的数组进行排序,我使用此方法:
self.myArray = [self.myArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
if ([obj1 isKindOfClass:[ObjectVO class]] && [obj2 isKindOfClass:[ObjectVO class]]) {
ObjectVO *myObject1 = (ObjectVO *)obj1;
ObjectVO *myObject2 = (ObjectVO *)obj2;
switch (sortType) {
....
case 2:
return [myObject1.name compare: myObject2.name];
.....
}
return NSOrderedDescending;
}];
问题是当我有2个对象时,如: A100 和 A50 ,A100是列表中的第一个对象,A50是第二个对象。 我的对象是叮咬。
我该如何解决这个问题?
答案 0 :(得分:2)
试试这个:
self.myArray = [self.myArray sortedArrayUsingComparator:^NSComparisonResult(NSString *obj1, NSString *obj2) {
return [obj1 compare:obj2 options:NSNumericSearch];
}];
NSNumericSearch
字符串中的数字使用数值进行比较,即 Name2.txt< Name7.txt< Name25.txt。
数字比较仅适用于字符串中的数字,而不适用 其他可能具有真实数字意义的字符,例如a 负号或小数点。
此选项仅适用于比较方法,而不是查找。