gpt4 book ai didi

ios - 在 Objective C 中使用 NSPredicate 过滤自定义对象数组

转载 作者:行者123 更新时间:2023-12-01 18:05:49 24 4
gpt4 key购买 nike

我有一个包含自定义对象字典的数组。我想过滤该数组以在 UITableView 中使用搜索功能。这是我使用 NSPredicate 进行单对象过滤的代码。

self.searchResultForName = [self.multiPracticeDetailsArray filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
ObjectHolder *obj = (ObjectHolder*)evaluatedObject;
return [obj.Name hasPrefix:searchText];
}]];

使用上面的代码,我只能搜索 Name ,但我想按 Name 和 ID 搜索。此外,搜索将不区分大小写。我如何在 Objective-C 中执行此操作?请提出更好的方法。

最佳答案

假设您的 ObjectId 属性是 NSInteger,您可以尝试像这样过滤它:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Name =[c] %@ OR ObjectId =[c] %ld", searchText, searchId];
NSArray *filteredArray = [self.multiPracticeDetailsArray filteredArrayUsingPredicate:predicate];

关于ios - 在 Objective C 中使用 NSPredicate 过滤自定义对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44925739/

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