gpt4 book ai didi

objective-c - 在字典数组中查找给定值的元素

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

我有两个NSArray变量,每个变量里面都有一个类似的NSDictionary。

对于给定的行(indexPath.row):

 NSArray* array1 = ...;
NSDictionary* item = [array1 objectAtIndex:indexPath.row];
int myid = [[item valueForKey:@"id"] intValue];
// id = 5

现在,我需要在array2中找到id = 5的元素,但是由于我是C#开发人员,因此我认为使用for这样做有点奇怪。

有替代的替代品吗?

最佳答案

NSArray具有可以使用的indexOfObjectPassingTest方法:

NSArray *array2 = ...;
int searchId = ...;
NSUInteger index2 = [array2 indexOfObjectPassingTest:^BOOL(NSDictionary *item, NSUInteger idx, BOOL *stop) {
BOOL found = [[item objectForKey:@"id"] intValue] == searchId;
return found;
}];

if (index2 != NSNotFound) {
// First matching item at index2.
} else {
// No matching item found.
}

这将返回第一个匹配的索引。如果需要所有匹配的索引,请使用 indexesOfObjectsPassingTest

关于objective-c - 在字典数组中查找给定值的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12939918/

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