iphone - 比较两个 NSMutableArray

标签 iphone objective-c ios nsmutablearray

我有一个包含 NSMutableDictionary 值的 NSMutableArray。我必须确定 NSMutableArray 中是否存在特定的字典值?

NSMutableArray:

表格数据:

{
    {

        categories = 267;
        "category_ids" = 267;
        "created_at" = "2012-04-18 05:32:10";
        "custom_design_from" = "2010-12-03 00:00:00";
    }
    {
        categories = 267;
        "category_ids" = 267;
        "created_at" = "2012-04-18 05:32:10";
        "custom_design_from" = "2010-12-03 00:00:00";
    }
 }

我必须识别一个特定的字典值。

我的代码:

if ( [tableData containsObject:[appDelegate.Product objectAtIndex:i]] ) 
{
     // Return Always false...
}

最佳答案

据我所知,containsObject: 方法通过向其中的所有实例发送 isEqual: 消息来检查数组是否包含给定对象。 NSDictionary 类有方法 isEqualToDictionary: 来比较字典的内容。你可以尝试这样做

- (BOOL) dictionaryArray:(NSMutableArray*)array containsDictionary:(NSDictionary*)givenDictionary
{
    BOOL result = NO;

    for( NSDictionary* dict in array )
    {
        if( [dict isEqualToDictionary:givenDictionary] )
        {
            result = YES;
        }
    }

    return result;
}

如果您的数组包含通过调用给定的字典,则此方法应该返回

NSDictionary* dict = [appDelegate.Product objectAtIndex:i];
if ( [self dictionaryArray:tableData containsDictionary:dict] )
{
    // do what you need
}

关于iphone - 比较两个 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10913735/

相关文章:

ios - HEIF 媒体可以流式传输吗?

ios - 父 View Controller 调用自身而不是 subview

ios - Swift 或 Objective C 中的垂直 View 寻呼机

ios - 什么是具有相关包 ID 的 iOS 团队配置文件(iOS 团队配置文件 : com. mycompany.myapp)?

iphone - 如何知道用户何时对 iOS 应用程序/游戏进行评分

iphone - 当时间至关重要时,还有比 NSTimer 更好的东西吗?

ios - 如何在 UILabel 中显示 XML 解析后的数据

ios - 无法在 Apple Watch 上安装 WatchKit 应用

iphone - 地理定位二维码格式

iphone - 沿任一轴翻转 UIImage