作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 UISearchBar 在 iPhone 中实现内容搜索,我的代码如下。
- (void)searchBar:(UISearchBar*)searchBar textDidChange:(NSString*)searchText {
if([tableData count])
[tableData removeAllObjects];
//dataArray contains array of strings
//tableData should containg arrow of strings as a serch result
NSRange range = {0, [searchText length]};
for(int i=0; i<[dataArray count]; ++i)
{
NSString *name = [dataArray objectAtIndex:i];
if([name compare:searchText options:NSCaseInsensitiveSearch range:range] == NSOrderedSame)
[tableData addObject:[dataArray objectAtIndex:i]];
}
[theTableView reloadData];
}
我将dataArray
作为字符串源,然后我想搜索每个字符串中的一些内容,然后我需要将包含搜索文本的那些字符串存储在tableData中
数组。
现在写,我只得到这些字符串作为起始文本中的搜索结果匹配,就好像在dataArray
中有3个对象1.印度,2.中国,3.美国和我正在搜索“in”,那么它应该显示印度和中国,但它只显示印度,因为“In”是印度的起始内容。
请建议我如何达到所需的结果。
最佳答案
要搜索字符串中的任何位置,您需要检查整个字符串以查看 searchTest 是否出现在任何位置:
NSRange titleResultsRange = [name rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (titleResultsRange.length > 0)
[tableData addObject:name]; // or [tableData addObject:[dataArray objectAtIndex:i]];
关于iphone - 如何在iPhone中实现内容搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6883971/
我是一名优秀的程序员,十分优秀!