gpt4 book ai didi

iphone - 当我们为 iPhone 输入第一个字母时显示搜索的所有名称

转载 作者:行者123 更新时间:2023-11-29 11:09:00 24 4
gpt4 key购买 nike

我想搜索所有以特定字母开头的名字,这意味着当我在搜索栏中输入一个字符时,它将显示所有以该字符开头的名字,但不幸的是它也显示包含该字符的名字。我想要只显示那些以我在搜索栏中键入的特定字符开头的名称。请告诉我解决方案。

 - (void)searchBar:(UISearchBar *)searchBars textDidChange:(NSString *)search
{

if(search.length == 0)
{
isFiltered = FALSE;
}
else{

isFiltered=true;
itemData =[[NSMutableArray alloc] init];

for (Item *itemsearch in listOfItemForStock) {

NSString *stringId = [NSString stringWithFormat:@"%i",itemsearch.iditem];
NSString *stringName = [NSString stringWithFormat:@"%@",itemsearch.name];
NSRange idRange = [stringId rangeOfString:search options:(NSCaseInsensitiveSearch)];
NSRange nameRange = [stringName rangeOfString:search options:(NSCaseInsensitiveSearch)];

if(idRange.location!=NSNotFound || nameRange.location != NSNotFound){

[self.itemData addObject:itemsearch];
}
}
}

[self.tableView reloadData];

最佳答案

将名称检查更改为前缀检查。将 nameRange 变量替换为仅指示 stringName 是否以搜索字符串开头的 BOOL...

/// ...
BOOL nameMatches = [[stringName lowercaseString] hasPrefix:[search lowercaseString]];

if(idRange.location!=NSNotFound || nameMatches){
//..

关于iphone - 当我们为 iPhone 输入第一个字母时显示搜索的所有名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12361812/

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