gpt4 book ai didi

iphone - 使用 searchBar 搜索单词的首字母

转载 作者:行者123 更新时间:2023-11-28 22:31:23 24 4
gpt4 key购买 nike

在我的应用程序中,我的联系人列表页面表格 View 中有一个搜索栏。现在我的代码根据任何字母搜索列表,即使搜索文本位于名字或姓氏的中间。但我希望它只从头开始搜索。例如,“sh”这个词应该只提取“Shiva”、“Sheela”等,而不是“sathish”、“suresh”等,谁能帮我解决这个问题?

我的代码是

- (void)searchBar:(UISearchBar *)searchBar
textDidChange:(NSString *)searchText
{
//---if there is something to search for---
if ([searchText length] > 0)
{
isSearchOn = YES;
canSelectRow = YES;
self.ContactTableview.scrollEnabled = YES;
searchTextValue = searchText;
[searchResult removeAllObjects];

for (NSString *str in ContactArray)
{
NSRange range = [str rangeOfString:searchText options:NSCaseInsensitiveSearch];
if(range.location != NSNotFound)
{
if(range.length > 0)//that is we are checking only the start of the names.
{
[searchResult addObject:str];
}
}
}
}
else
{
//---nothing to search---
isSearchOn = NO;
canSelectRow = NO;
self.ContactTableview.scrollEnabled = YES;
//SearchBar.showsCancelButton = NO;
[TitleBarLabel setText:@"All Contacts"];

}
[ContactTableview reloadData];
}

最佳答案

尝试使用谓词,在下面的代码中替换您的值。

 NSPredicate *p = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[cd] %@",@"A"];
NSArray *a = [NSArray arrayWithObjects:@"AhfjA ", @"test1", @"Test", @"AntA", nil];
NSArray *b = [a filteredArrayUsingPredicate:p];
NSLog(@"--%@",b);

O/P:-

(
AntA,
AntA
)

关于iphone - 使用 searchBar 搜索单词的首字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17345048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com