NSPredicate 过滤

NSPredicate filtering

我将以下 json 对象存储为 self.pElements。我有一个 search bar 用于根据 name.

过滤项目
[
 {"id":"1","name":"Baked Chicken","category":"1","price":"5.49"},
 {"id":"2","name":"Beef Kabob","category":"2","price":"5.49"},
 {"id":"3","name":"Beef Gyro","category":"1","price":"5.49"},
 {"id":"4","name":"Lamb Gyro","category":"4","price":"5.49"} 
] 

我尝试按如下方式按 name 进行过滤,但它总是 returns 我为空。即使我只输入 Beef,也没有返回任何内容

pTempElements =[[NSMutableArray alloc] initWithArray:[self.pElements filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"name = %@", self.searchBar.text]]];

如果要过滤包含搜索字符串的字符串,请使用 contains[cd]:

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

有关可以进行的字符串比较的列表,请参阅 Predicate 编程指南中的 Predicate Format String Syntax: String Comparisons