gpt4 book ai didi

ios - 如何搜索字典数组并在 UITableview 中显示?

转载 作者:可可西里 更新时间:2023-11-01 05:52:06 26 4
gpt4 key购买 nike

我是 IOS 的新手,我正在使用 UISearchDisplayController 进行搜索。

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
{
[self filterContentForSearchText:searchString
scope:[[self.searchDisplayController.searchBar scopeButtonTitles]
objectAtIndex:[self.searchDisplayController.searchBar
selectedScopeButtonIndex]]];

return YES;
}

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY SELF == %@", searchText];
NSArray *filtered = [self.arrProductList filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filtered);
}

这是我的 self.arrProductList 是一个数组,即

    ({        ID = 1;        description = "Coalesce Functioning on impatience T-Shirt";        pname = "Coalesce Functioning T-Shirt";        price = "299.00";        qty = 99;       },    {        ID = 2;        description = "Eater Krylon Bombear Destroyed T-Shirt";        pname = "Girl's T-Shirt";        price = "499.00";        qty = 99;    },    {        ID = 3;        description = "The Get-up Kids Band Camp Pullover Hoodie";        pname = "Band Camp T-Shirt";        price = "399.00";        qty = 99;    })  

我的问题是如何使用关键字“pname”进行搜索?我的应用程序在

中崩溃

filteredArrayUsingPredicate:

最佳答案

您需要修改谓词以添加要查找的键:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"pname == %@", searchText];

此外,== 实际上会查找完全匹配项,即如果您输入 Band Camp T-Shirt 作为搜索,那么您将获得结果,您赢了如果您只是输入BandCampShirt,将无法得到任何结果。因此,为了实现基于字符的搜索,您需要修改谓词以包含contain关键字。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"pname contains[cd] %@", searchText];

[cd] 将不区分大小写匹配。

关于ios - 如何搜索字典数组并在 UITableview 中显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31339298/

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