我必须包含NSMutableDictionary
s的2 NSMutableArray
s。我需要验证其他数组中存在的其中一个数组中的字典。我怎样才能做到这一点?ios如何比较nsmutablearray中的nsdictionary
0
A
回答
4
我不确定这是否是最好的方法,但它很容易。我创建了一个方法来验证NSArray
内是否存在NSDictionary
。在这个函数内部,我将NSDictionary
s转换为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
S的一个迭代,用这种方法,像这样:
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!");
}
}
0
要检查是否array1
包含array2
所有项目:
NSMutableArray *mutableArrayToCheck = [array2 mutableCopy];
[mutableArrayToCheck removeObjectsInArray:array1];
if (array2.count > 0 && mutableArrayToCheck.count == 0) {
// array2 contains all the items in array1
}
忽略的阵列为第二的内容的类型,只是觉得数字。我们有2个数组:
array1 = [ 1, 2, 3 ]
array2 = [ 1, 3 ]
如果我们从数组2删除阵列1的项目,结果是一个空数组,然后我们知道,所有的数组2的项目也分别在阵列1。
removeObjectsInArray:
通过搜索数组和比较每个项目,为我们做到这一点。我们只需要检查结果。
无论数组的内容是什么,只要它们实现了hash
和isEqual:
,这都可以工作。
相关问题
- 1. IOS比较两个NSMutableArray的
- 2. 的NSDictionary内的NSMutableArray(IOS)
- 3. 如何比较两个NSMutableArray?
- 4. 比较NSDictionary
- 5. NSDictionary:比较NSDictionaries
- 6. 的NSMutableArray到NSDictionary中的iOS 3.1.3问题
- 7. 比较两个NSMutableArray
- 8. 比较复杂的NSDictionary
- 9. 的NSDictionary:比较后MutableCopy
- 10. 的NSDictionary和比较SetObjects
- 11. 比较NSMutableArray元素的值
- 12. 如何将含有NSDictionary的NSMutableArray复制到另一个NSMutableArray中
- 13. 的NSMutableArray NSDictionary的从
- 14. 的NSDictionary到NSMutableArray的
- 15. iPhone - 的NSDictionary - NSMutableArray的
- 16. ADDOBJECT NSMutableArray的一个NSDictionary中
- 17. 比较字符串中的NSDictionary
- 18. 在NSDictionary中比较相同的键值
- 19. NSDictionary键比较失败
- 20. NSDictionary到1 NSMutableArray
- 21. 如何比较iOS中的位图?
- 22. 如何比较iOS中的NSDecimalNumber
- 23. 使用块比较NSMutableArray
- 24. iOS - 如何比较两次?
- 25. NSArray的比较与NSMutableArray中添加三角洲对象的NSMutableArray
- 26. 从NSMutableArray中提取NSDictionary
- 27. 如何比较NSMutableArray中的NSTimeInterval(NSNumber对象)?
- 28. 如何将NSDictionary对象添加到NSMutableArray?
- 29. 如何在iOS中比较两次
- 30. 排序的NSMutableArray从NSDictionary的
可你explaing这条线的工作原理[mutableArrayToCheck removeObjectsInArray:数组1]。以及如何比较数组? – HelenaM