iphone - ios 我如何比较 nsmutablearray 中的 nsdictionary

标签 iphone ios ipad nsmutablearray nsmutabledictionary

我必须有 2 个包含 NSMutableDictionaryNSMutableArray。我需要验证一个数组中的字典是否存在于另一个数组中。我该怎么做?

最佳答案

我不确定这是否是最好的方法,但它很简单。我创建了一个方法来验证 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/

相关文章:

ios - 如何在没有 Storyboard的情况下调整 iPad 和 iPhone 4S 的 View 大小?

ios - 滚动时 UIScrollView 问题

android - 响应式网站在智能手机上显示较大的右侧边距

iphone - 我可以在 iPhone 上使用 Core Audio 效果吗?

ios - 我如何知道何时可以重新加载 TableView ,以便它显示我下载和解析的 JSON 数据?

iphone - iOS 应用程序启动画面使用的尺寸是多少?

iphone - 计算 iphone 应用程序的 fps(每秒帧数)

ios - 等待 10 秒后未能返回。主运行循环模式 : kCFRunLoopDefaultMode void SendDelegateMessage(NSInvocation*): delegate

ios - 从风景或肖像 UIImage 中找到最大的中心正方形并将其缩放到一定大小

jquery - iPad + 如何防止键盘在 jquery datepicker 上弹出