我的NSMutableArray是10 NSMutableArrays。这些NSMutableArrays中的每一个都包含不同数量的NSDictionary对象,我为此创建了一个模型类。我从API响应中获取此数据。首次调用API时,响应将是整个数据。从那时起,进行API调用时,它仅返回已修改的数据。

当我从API响应中获取一些新数据时,它包含的数据已经存在于字典数组中,但进行了一些修改。

模型类的结构如下:

子类别

@interface SubCategory : MTLModel <MTLJSONSerializing>

@property (nonatomic, retain) NSString *subCategoryID;
@property (nonatomic, retain) NSString *subCategoryName;
@property (nonatomic, retain) NSString *status;

@end


返回的JSON对象将如下所示:

{
    "sub_category" =             (
                            {
                id = 55ed48123;
                name = "Sub Category 1";
                status = 1;
            },
                            {
                id = 55ed47ed3;
                name = "Sub Category 2";
                status = 1;
            }
      );
}


新数据的“ id”字段相同。但是其“名称”和“状态”字段不同。我想用新数据替换NSMutableArray对象的NSDictionary中的数据,以便它保留该数组中对象的顺序。我怎样才能做到这一点?

最佳答案

1:使用NSPredicate创建重复条件的条件。

2:使用filteredArrayUsingPredicate获取重复对象的数组。

3:从复制的数组中删除一个对象。

4:使用removeObjectsInArray从原始数组中删除重复数组中所有对象的列表。

关于ios - 根据 key 的值从NSDictionary的NSMutableArray中删除重复项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33051557/

10-11 14:26