gpt4 book ai didi

ios - 大于等于的 NSPredicate 问题

转载 作者:可可西里 更新时间:2023-11-01 03:05:16 24 4
gpt4 key购买 nike

我有一个简单的 NSPredicate,它没有给出正确的结果

NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"SELF.data.squareFootage >= %@", filterSquareFootage];
filteredArray = [[filteredArray filteredArrayUsingPredicate:resultPredicate] mutableCopy];

奇怪的是,这适用于所有 6000>=250、7000>=250、8000>=6000。但是只要 squareFootage==10000 10000>=any smaller value 的谓词就是假的。注意:squareFootage 的 10000 是使用 UISlider 获取的最大值。如果我将值减小到任何更小的值,谓词将给出 true 作为结果

我是否遗漏了什么并且错误地使用了谓词?

最佳答案

我假设您的属性存储为 string 而不是 number,因此这些值作为字符串进行比较:

"10000" < "250" < "6000"

使用 NSNumber 而不是 NSString(或者一些标量类型作为 NSInteger)应该可以解决这个问题。

如果您不能更改squareFootage 属性的数据类型,则以下谓词应该工作:

[NSPredicate predicateWithFormat:@"SELF.data.squareFootage.intValue >= %d", [filterSquareFootage intValue]]

关于ios - 大于等于的 NSPredicate 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18010856/

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