【问题标题】:iOS - Help Using [NSPredicate predicateWithFormat]iOS - 帮助使用 [NSPredicate predicateWithFormat]
【发布时间】:2014-02-23 06:54:43
【问题描述】:

嘿,所以我使用 NSPredicate 来过滤数组。目前我使用以下代码:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.name contains[c] %@", searchText];

当它查找属性 .name 并检查它是否包含在 searchText 中时,它一直工作正常。我想知道是否有办法将其从检查它是否包含在搜索文本中更改为搜索文本是否以搜索过滤器开头。 IE。如果搜索文本是 school 并且我输入 sc 作为过滤器,搜索文本将保留,但如果我输入 sco 搜索文本 school 将被过滤掉。我可以使用某种beginswith 来代替contains[c]。谢谢!

【问题讨论】:

    标签: ios search filter nspredicate predicatewithformat


    【解决方案1】:

    是的,事实上就是这样:

    1. BEGINSWITH 左侧表达式以右侧表达式开头。
    2. CONTAINS 左侧表达式包含右侧表达式。
    3. ENDSWITH 左边的表达式以右边的表达式结束。
    4. LIKE 左边的表达式等于右边的表达式: ?和 * 允许作为通配符,在哪里?匹配 1 个字符,* 匹配 0 个或更多字符。
    5. MATCHES 根据 ICU v3,左侧表达式使用正则表达式样式比较等于右侧表达式(有关更多详细信息,请参阅 ICU 正则表达式用户指南)。

    Full docs

    【讨论】:

      猜你喜欢
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多