gpt4 book ai didi

iphone - UISearchBar - 搜索对象数组的 NSDictionary

转载 作者:行者123 更新时间:2023-12-03 20:34:51 51 4
gpt4 key购买 nike

我正在尝试在表格 View 中插入一个搜索栏,该表格 View 加载了来自数组 NSDictionary 的信息。每个数组保存 和 对象。每个对象都有多个属性,例如名称或地址。

我已经实现了 NSSearchBar 的方法,但是与搜索本身相对应的代码(我在另一个项目中工作,其中数组只有字符串)不起作用,并且我无法解决这个问题。

代码如下:'indiceLateral' 是一个带有字母表的数组;'partners' 是一个 NSDictionary;“RLPartnersClass”是我的合作伙伴类别,每个合作伙伴都有属性(名称、地址……)。

-(void)handleSearchForTerm:(NSString *)searchTerm {

NSMutableArray *sectionsToRemove = [[NSMutableArray alloc] init];
[self resetSearch];

for (NSString *key in self.indiceLateral) {
NSMutableArray *array = [partners valueForKey:key];
NSMutableArray *toRemove = [[NSMutableArray alloc] init];

for (NSString *name in array) {
if ([name rangeOfString:searchTerm options:NSCaseInsensitiveSearch].location == NSNotFound)
[toRemove addObject:name];
}

if ([array count] == [toRemove count])
[sectionsToRemove addObject:key];
[array removeObjectsInArray:toRemove];
[toRemove release];
}

[self.indiceLateral removeObjectsInArray:sectionsToRemove];

[sectionsToRemove release];
[theTable reloadData];
}

有人可以帮我吗?

谢谢

瑞·洛佩斯

最佳答案

我已经做到了。

示例:

-(void)handleSearchForTerm:(NSString *)searchTerm {

NSMutableDictionary *finalDict = [NSMutableDictionary new];
NSString *currentLetter = [[NSString alloc] init];

for (int i=0; i<[indiceLateral count]; i++) {
NSMutableArray *elementsToDict = [[[NSMutableArray alloc] init] autorelease];
currentLetter = [indiceLateral objectAtIndex:i];

NSArray *partnersForKey = [[NSArray alloc] initWithArray:[partnersCopy objectForKey:[indiceLateral objectAtIndex:i]]];

for (int j=0; j<[partnersForKey count]; j++) {
RLNames *partnerInKey = [partnersForKey objectAtIndex:j];

NSRange titleResultsRange = [partnerInKey.clientName rangeOfString:searchTerm options:NSDiacriticInsensitiveSearch | NSCaseInsensitiveSearch];

if (titleResultsRange.length > 0){
NSLog(@"found: %@", partnerInKey.clienteCity
[elementsToDict addObject:partnerInKey];
}
}

[finalDict setValue:elementsToDict forKey:currentLetter];
}

NSMutableDictionary *finalResultDict = [finalDict mutableDeepCopy];
self.partners = finalResultDict;
[finalResultDict release];

[theTable reloadData];
}

关于iphone - UISearchBar - 搜索对象数组的 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4635437/

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