【发布时间】:2016-11-29 02:49:29
【问题描述】:
我正在创建一个 iOS 应用程序,我希望用户能够在其中搜索 UITableView 并根据各种不同的输入显示结果。我正在使用具有多个由“OR”分隔的条件的 NSPredicate 来执行此操作,但由于某种原因,它只搜索第一个条件而没有其他条件。
这是我的 NSPredicate 的格式:
let searchPredicate = NSPredicate(format: "(SELF.firstName CONTAINS[c]
%@) OR (SELF.lastName CONTAINS[c] %@) OR (SELF.major CONTAINS[c] %@) OR
(SELF.year CONTAINS[c] %@) OR (SELF.gpa CONTAINS[c] %@)",
searchController.searchBar.text!)
我的参数是 firstName、lastName、major、year 和 gpa。当我在搜索栏中输入除名字之外的任何内容时,没有显示任何结果。但是输入名字确实会返回匹配项。为什么会这样?我的 NSPredicate 格式是否错误?
【问题讨论】:
标签: ios swift nspredicate