使用UISearchDisplayController过滤数据

时间:2014-11-25 11:23:09

标签: uisearchbar nspredicate uisearchdisplaycontroller

我正在使用searchBarDisplayController,我根据用户类型为搜索结果写了一个搜索谓词。

我有一个名为Contact

的班级
Class Contact
{
      NSString *name;
      NSString *emailId;

}

这已被添加到我的源中以显示在表

[m_contactsArray addObject:ContactObject];

//我的搜索以这种方式预测

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{    

    NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"name contains[cd] %@", searchText];
    m_searchResults = [m_contactArray filteredArrayUsingPredicate:resultPredicate];
}

但是这个搜索谓词只会搜索name而不是emailID,我想编写一个搜索谓词,可以搜索ContactObject的name和emailID中的字符。

如何实现这个

此致 兰吉特

1 个答案:

答案 0 :(得分:3)

请你试试下面的谓词,它可能有效。

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