ios - 如何通过在 UISearchbar 中包含单词来过滤句子

标签 ios objective-c uisearchbar nspredicate

我有一个对象数组。 对象主体是一个句子,我想通过这个句子的单词过滤我的 UITableView

例如,我要对象:

编号:1; 正文:“你好我亲爱的 friend ”;

编号:2; 正文:“佛罗多,把戒指给我!”;

如果我开始输入“Fr”,UISearchControler 必须返回两个对象,因为它们都包含以“Fr”开头的单词(“frodo, friend”)。然后,如果我输入“Fro”,它将返回第二个对象。

现在我将消息拆分成单词数组,并用

过滤它们
@"self.body contains[c]%@", searchString 

谓词。

我如何组合包含和开始谓词?

最佳答案

您可以在SearchBar Delegate 方法中编写此代码

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText   
{ 
 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains%@",searchTxt.uppercaseString];
   NSArray* FilteredArr = [objTableData filteredArrayUsingPredicate:predicate];

}

还要注意大小写(小写和大写)

关于ios - 如何通过在 UISearchbar 中包含单词来过滤句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26334570/

相关文章:

jquery - HTML5 地理定位 iPhone UIWebView

ios - Firebase 存储警告 : downloadURL( )' is deprecated: Use ` StorageReference. downloadURLWithCompletion()

ios - PFUser logOut 和 PFFacebookUtils logInInBackgroundWithReadPermissions 后的错误

ios - 同时选择另一个表格 View 单元格时如何取消选择表格 View 单元格?

代码中的 iOS 自定义 UIView 访问属性

iOS 位置管理器多次启动

ios - NSPredicate在filterContentForSearchText方法中省略了áá之类的特殊字符

ios - UITableView 的动态高度

ios - 搜索栏实现不起作用

swift - iOS 13 - 当 Search Active Push 到其他 VC 时,VC UITableView 在 Swift 4 的 NavigationBar 下