我有一个 NSMutableArray
,例如 10 个 NSMutableArrays
。这些 NSMutableArrays
中的每一个都包含不同数量的 NSDictionary
对象,我已经为其创建了一个模型类。我从 API 响应中获取此数据。第一次调用 API 时,响应将是整个数据。从那时起,当进行 API 调用时,它只返回修改过的数据。
当我从 API 响应中获取一些新数据时,它包含字典数组中已有但稍作修改的数据。
模型类的结构如下:
子类别.h
@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'字段相同。但是它的“名称”和“状态”字段是不同的。我想用新数据替换 NSDictionary
对象的 NSMutableArray
中的数据,以便它保留该数组中对象的顺序。我怎样才能做到这一点?
最佳答案
1:使用NSPredicate
创建重复条件的条件。
2:使用filteredArrayUsingPredicate
获取重复对象的数组。
3:从重复数组中删除一个对象。
4:使用removeObjectsInArray
从原始数组中删除重复数组中所有对象的列表。
关于ios - 根据键的值从 NSDictionary 的 NSMutableArray 中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33051557/