gpt4 book ai didi

ios - 在 IOS objective-c 中使用搜索栏的搜索栏/过滤过程

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

谁能帮我找出为什么在搜索栏中输入文本时调用搜索栏委托(delegate)方法时我无法获取过滤后的数组

我的工具栏textDidChange方法

-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
if(searchText.length == 0){
isFiltered = NO;
}else{
isFiltered = YES;
[filterdArray removeAllObjects];
for(int i = 0; i < [productArray count]; i++){
NSRange textRange;
textRange =[[[[productArray objectAtIndex:i] objectForKey:@"senior_name"] lowercaseString] rangeOfString:[searchText lowercaseString]];

if(textRange.location != NSNotFound){
[filterdArray addObject:[productArray objectAtIndex:i]];
NSLog(@"filterdArrayyyyyyyy:%@",filterdArray);
}
}
}

[self.residentListTableView reloadData];
}

这是我的productArray

(
{
id = 369;
"room_no" = 101;
"senior_name" = Tim;
},
{
id = 388;
"room_no" = "<null>";
"senior_name" = res444;
},
{
id = 382;
"room_no" = "<null>";
"senior_name" = tt1234;
},......

filterarray 返回 null,

我想根据“senior_name”过滤tableview

提前谢谢你,

最佳答案

您可以尝试使用以下代码来获得适当的结果。

-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
if(searchText.length == 0){
isFiltered = NO;
}else{
isFiltered = YES;
[filterdArray removeAllObjects];
for(int i = 0; i < [productArray count]; i++){
if([[[[productArray objectAtIndex:i] objectForKey:@"senior_name"] lowercaseString] rangeOfString:[searchText lowercaseString]].length>0){
[filterdArray addObject:[productArray objectAtIndex:i]];
NSLog(@"filterdArrayyyyyyyy:%@",filterdArray);
}
}
}

[self.residentListTableView reloadData];
}

关于ios - 在 IOS objective-c 中使用搜索栏的搜索栏/过滤过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42838005/

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