gpt4 book ai didi

iphone - 为什么这个 NSPredicate 不起作用?

转载 作者:行者123 更新时间:2023-12-03 20:48:49 26 4
gpt4 key购买 nike

我有一个非常简单的 NSPredicate:

NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"name beginswith '%@'", theString];
[matchingTags filterUsingPredicate:sPredicate];

当 theString == "p"时,这会导致数组有 0 个结果

但是,当我这样做时:

NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"name beginswith 'p'"];
[matchingTags filterUsingPredicate:sPredicate];

正如预期的那样,我得到了 100 多个结果。

我已经用 NSLog() 检查了“theString”,它的值是正确的。我觉得我错过了一些重要的 secret 。可能是因为我使用的是字符串而不是字符?

想法?

最佳答案

查看文档 here

If you use variable substitution using %@ (such as firstName like %@), the quotation marks are added for you automatically.

所以基本上,它正在寻找以“p”开头的名称,而不是 p。将代码更改为:

NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"name beginswith %@", theString];

应该可以

关于iphone - 为什么这个 NSPredicate 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3134407/

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