ios - 使用 NSSet 从 NSMutableArray 中删除重复项

标签 ios objective-c nsmutablearray nsset

我正在尝试设置一个 NSSet 以从 NSDictionary 对象的 NSMutableArray 中删除所有重复项,但是我不确定如何将创建 NSSet 所需的值之一设置为 NSMutableArray 的 NSDictionary 对象中的元素...希望这是有道理的。

这是 NSDictionary 的样子

ID = 22;
SERIESID = 33;
YEAREND = 2002;
YEARSTART = 1996;

到目前为止,这是我的代码

NSSet *uniqueElements = [NSSet setWithArray:yearArray];

// iterate over the unique items
for(id element in uniqueElements) {
    // create new NSArray of unique entries
}

我想知道如何根据 yearArray 中每个 NSDictionary 的 SERIESID 值创建一个唯一的 yearArray。

如有任何帮助,我们将不胜感激。

最佳答案

你可以试试这个

NSMutableArray *resultantArray = [NSMutableArray array];

for(NSDictionary *dict in yearArray)
{
  NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SERIESID == %@",
                                          [dict valueForKey:@"SERIESID"]];

  NSArray filteredArray = [resultantArray filteredArrayUsingPredicate:predicate];

  if(![filteredArray count])
  {
    [resultantArray addObject:dict];
  }  
}

关于ios - 使用 NSSet 从 NSMutableArray 中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16181143/

相关文章:

ios - 为什么不能使用对象初始化此NSArray?

objective-c - Objective - C、NSDictionary 编码为 utf-8

objective-c - 在 REST Api 中建模对象继承

ios - 可变数组 iOS 中的最大元素

ios - 变换 UIView 形状

ios - 如果应用程序已经在后台运行,如何响应推送通知 View

objective-c - 将本地 HTML 加载到 iOS 上的 UIWebView 中,不显示本地镜像或样式

c# - 访问 Easy Movie Texture 的文件路径

ios - 核心数据保存数组和字典 - 最佳实践

objective-c - valueForKey 上的 NSMutableArray 异常