代码之家  ›  专栏  ›  技术社区  ›  M. Ryan

为什么这个预测不起作用?

  •  2
  • M. Ryan  · 技术社区  · 15 年前

    我有一个非常简单的预测:

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

    当字符串==“p”时,这将导致数组有0个结果

    但是,当我这样做时:

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

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

    思想?

    1 回复  |  直到 15 年前
        1
  •  4
  •   bobDevil    15 年前

    here

    如果使用变量替换 %@(如名字,如%@) 为您添加引号

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

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

    推荐文章