gpt4 book ai didi

iphone - 使用比较 : selector 比较数组中的 float

转载 作者:行者123 更新时间:2023-11-28 19:22:09 27 4
gpt4 key购买 nike

我有一个应用程序,它从服务器检索大量数值数据并将其保存到 NSMUtableArray 中。现在这些值是 float ,看起来像 10.0; 11.2; 30.003; 109.23等

现在我使用 sortUsingSelector(@selector(compare:)) 方法对我的数组进行排序以找到最大值和最小值。我的输出如下:

10.0109.2311.230.003

现在我假设比较:选择器将值视为字符串并相应地对它们进行排序。但这不是我想要的。我希望根据浮点值对值进行排序。所以我的问题是:有什么方法可以根据数值对 float 数组进行排序吗?

最佳答案

比较可能有一个捷径,并且没有错误检查,但像这样的事情应该可以解决问题:

NSArray* sorted = [unsorted sortedArrayWithOptions:0 usingComparator:^(id v1, id v2) {
float f1 = [v1 floatValue];
float f2 = [v2 floatValue];

if (f1 == f2) return NSOrderedSame;
return (f1 < f2) ? NSOrderedAscending : NSOrderedDescending;
}];

或者您可以在值传入时将其存储为 NSNumber

关于iphone - 使用比较 : selector 比较数组中的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7972375/

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