我必须有 2 个包含 NSMutableDictionary
的 NSMutableArray
。我需要验证一个数组中的字典是否存在于另一个数组中。我该怎么做?
最佳答案
我不确定这是否是最好的方法,但它很简单。我创建了一个方法来验证 NSDictionary
是否存在于 NSArray
中。在这个函数中,我将 NSDictionary
转换为 NSString
并进行比较。
- (BOOL)verifyIfDictionary:(NSDictionary *)dict existsInsideArray:(NSArray *)array
{
BOOL result = NO;
NSString *dictStr = [NSString stringWithFormat:@"%@",dict]; // convert dictionary to string
for (NSDictionary *d in arrayOfDictionaries)
{
NSString *dStr = [NSString stringWithFormat:@"%@",dict]; // same conversion as above conversion
// now, I just have to compare the resulting strings
if ([dictStr isEqualToString:dStr])
result = YES;
}
return result;
}
现在您只需遍历您的 NSArray
之一并使用此方法,如下所示:
NSArray *arrayOfDictionaries1;
NSArray *arrayOfDictionaries2;
// initialize them, fill with data, do your processing.. etc, etc...
// then, when you want to verify:
for (NSDictionary *dict in arrayOfDictionaries1)
{
if ([self verifyIfDictionary:dict existsInsideArray:arrayOfDictionaries2])
{
NSLog(@"exists!");
}
}
关于iphone - ios 我如何比较 nsmutablearray 中的 nsdictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17353621/