我有一个非常简单的预测:
NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"name beginswith '%@'", theString]; [matchingTags filterUsingPredicate:sPredicate];
当字符串==“p”时,这将导致数组有0个结果
但是,当我这样做时:
NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"name beginswith 'p'"]; [matchingTags filterUsingPredicate:sPredicate];
我得到了100多个结果,正如预期的那样。
思想?
here
如果使用变量替换 %@(如名字,如%@) 为您添加引号
所以基本上,它是在寻找以“p”开头的名字,而不是p。将代码更改为:
NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"name beginswith %@", theString];