searchbar 查詢
NSPredicate *p = [NSPredicate predicateWithFormat:@"description contains[cd] %@", searchBar.text]; items = [springs filteredArrayUsingPredicate:p];
- @"description contains[cd] %@"
description 是 plist裡面的欄位名稱 必須要一致
- 等於某數值:
@"gender <= %@", @(1) 表示gender欄位的值要是<=1
在查詢時候最好都要用%@ 因為字典物件裡面都是物件 ,如果要查詢數值 就把數值用@包起來成為物件來查詢
- 同時要查詢多種欄位:
建立多個NSPredicate
NSPredicate *p1 = [NSPredicate predicateWithFormat:@"description contains[cd] %@", searchBar.text]; NSPredicate *p2 = [NSPredicate predicateWithFormat:@"description contains[cd] %@", searchBar.text]; NSPredicate *p3 = [NSPredicate predicateWithFormat:@"description contains[cd] %@", searchBar.text]; NSPredicate *p = [NSPredicate orPredicateWithSubpredicates:@[p1,p2,p3]]; items = [springs filteredArrayUsingPredicate:p];
- or and 同時運作
NSPredicate *pOR = [NSPredicate orPredicateWithSubpredicates:@[p1,p2]]; NSPredicate *pAND = [NSPredicate orPredicateWithSubpredicates:@[pOR,pAND]]; items = [springs filteredArrayUsingPredicate:p];
-------- [cd]
c : case-insenstive 大小寫不敏感
d : diacritic-insenstive 讀音不敏感 例如不同語言的e 有不同打法
留言
張貼留言