gpt4 book ai didi

ios - 从 NSMutableDictionary 中提取数据并添加到不同的 NSMutableDictionary

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

设置

我有一个 NSMutableDictionary,其中包含超过 800 个代表员工的 NSMutableDictionaries。我正在尝试实现一个搜索栏,但在使用我的词典时遇到严重问题。

在第一个 For 循环中,我创建了一个用于搜索的字典,在发送中我尝试搜索该字典中的每个员工。

问题

如何将单个词典添加到新词典中以保存其中包含搜索词的所有词典?

- (void) searchTableView:(UISearchBar *)theSearchBar  {

NSString *searchText = theSearchBar.text;
NSMutableDictionary *searchDict = [[NSMutableDictionary alloc] init];

for (NSDictionary *employee in employeeData)
{
[searchDict setValue:employee forKey:[employee objectForKey:kFULLNAME_TAG]];
}

for (NSDictionary *emp in searchDict)
{
NSString *empName = [emp objectForKey:kFULLNAME_TAG];
NSRange titleResultsRange = [empName rangeOfString:searchText options:NSCaseInsensitiveSearch];

if (titleResultsRange.length > 0){
NSLog(@"search result ---> %@" ,emp);
[copyListOfItems setValue:empName forKey:emp];
}
}
}

在第二个 For 循环中,我在 copyListOfItems setValue:empName forKey:emp 方面遇到问题。

最佳答案

我认为在插入 copyListOfItems 时你的参数是向后的(我假设它是你类中的 NSMutableDictionary ivar?)。员工对象应该是值,员工姓名应该是键。

[copyListOfItems setValue:emp forKey:empName];

不过,您不需要使用两个循环来完成您需要的操作。这会更简单:

for (NSDictionary *emp in employeeData)
{
NSString *empName = [emp objectForKey:kFULLNAME_TAG];
NSRange titleResultsRange = [empName rangeOfString:searchText options:NSCaseInsensitiveSearch];

if (titleResultsRange.location != NSNotFound){
[copyListOfItems setValue:emp forKey:empName];
}
}

关于ios - 从 NSMutableDictionary 中提取数据并添加到不同的 NSMutableDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9459575/

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