ios - 根据键的值从 NSDictionary 的 NSMutableArray 中删除重复项

标签 ios objective-c duplicates github-mantle

我有一个 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/

相关文章:

ios - 如何在iOS中管理单个项目副本中的多个项目?

ios - 摇晃后如何调用谷歌页面

ios - 如何修剪使用 EZAudioRecorder 录制的音频?

ios - 自定义 UICollectionViewLayout : Get size of a certain cell

javascript - 使用随机生成的值检查数组中的重复项

objective-c - 在类别接口(interface)/实现中设置新属性

ios - 动态更改服务器上的 .ipa 文件

ios - 使用 AlAssetsLibrary 读取 iPhone 相机胶卷时出现内存问题

python - 如何使用 Python 在多个实例中将 CSV 中的重复项添加到特定行的末尾?

ios - 如何比较图像数组以在ios中查找重复图像