gpt4 book ai didi

ios - 使用NSSortDescriptor排序数组不起作用

转载 作者:行者123 更新时间:2023-12-01 17:25:46 25 4
gpt4 key购买 nike

我有一个带有多个字典的数组,如:

 {
highRate = "600.49";
hotelId = 439607;
hotelRating = "2.5";
latitude = "12.97153";
longitude = "80.15096";
lowRate = "600.49";
name = "Hotel Kingss Park";
proximityDistance = "17.999475";
thumbNailUrl = "http://images.travelnow.com/hotels/7000000/6510000/6500300/6500296/6500296_3_t.jpg";
tripAdvisorRating = "4.0";
},
{
highRate = "990.0";
hotelId = 327929;
hotelRating = "2.0";
latitude = "13.06931";
longitude = "80.2706";
lowRate = "450.45";
name = "Mallika Residency";
proximityDistance = "1.6274245";
thumbNailUrl = "http://images.travelnow.com/hotels/3000000/2960000/2958400/2958303/2958303_2_t.jpg";
tripAdvisorRating = "2.5";
}

我尝试使用 lowRate 键对该数组进行排序。
NSSortDescriptor *rating_Sort = [NSSortDescriptor sortDescriptorWithKey:@"lowRate" ascending:NO];
NSArray *descriptorArray = [NSArray arrayWithObject:rating_Sort];

NSArray *sortedArray = [self.tblDisplayArray sortedArrayUsingDescriptors:descriptorArray];

这里 self.tblDisplayArray 是我的数组。

但是在Result中没有得到正确的排序数组。

为什么会这样?

最佳答案

它们都是字符串,因此它尝试按字母顺序而不是数字对其进行排序。尝试以下任一方法:

NSSortDescriptor *desc = [[NSSortDescriptor alloc]initWithKey:@"doubleValue" ascending:YES];

或使用NSNumbers代替NSString ... @()代替@“”。

@Rajesh是正确的,不是您的所有数字都是整数,所以您应该使用doubleValue,我已经更新了代码!

希望这可以帮助! :)

关于ios - 使用NSSortDescriptor排序数组不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21908164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com