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。
我将以下 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。