从字典数组中删除键值的重复项

2024-01-12

我正在执行 Facebook API 请求,以返回特定 Facebook 群组中的所有专辑名称。我返回一个包含 3 个键/值的字典数组,其中一个是映射到专辑名称的键“name”,以及键“id”和“created_time”。

唯一的问题是,由于某种原因,我取回了专辑的重复“名称”值......但只有几个。当我访问 Facebook 页面时,无论如何,该专辑都只有一个实例,没有重复项。

此外,它们的“id”值不同,但它只是重复项组中具有 Facebook id 的第一个字典实际上指向有效数据,其他 Facebook id 值在执行 Facebook 图表时不会返回任何内容与他们一起搜索,所以这是我想要的第一个重复项。

我怎样才能从我的数组中删除这些无用的重复字典并保留具有有效 Facebook id 的字典?谢谢! :)


首先我想说的是,找到一种方法从 Facebook 获取“干净”的列表可能比事后掩盖问题更有益。目前这可能不可能,但至少找出此行为的原因或提交错误报告。

除此之外,这应该可以解决问题:

-(NSMutableArray *) groupsWithDuplicatesRemoved:(NSArray *)  groups {
    NSMutableArray * groupsFiltered = [[NSMutableArray alloc] init];    //This will be the array of groups you need
    NSMutableArray * groupNamesEncountered = [[NSMutableArray alloc] init]; //This is an array of group names seen so far

    NSString * name;        //Preallocation of group name
    for (NSDictionary * group in groups) {  //Iterate through all groups
        name =[group objectForKey:@"name"]; //Get the group name
        if ([groupNamesEncountered indexOfObject: name]==NSNotFound) {  //Check if this group name hasn't been encountered before
            [groupNamesEncountered addObject:name]; //Now you've encountered it, so add it to the list of encountered names
            [groupsFiltered addObject:group];   //And add the group to the list, as this is the first time it's encountered
        }
    }
    return groupsFiltered;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从字典数组中删除键值的重复项 的相关文章

  • 升级到 SDK 4.1 后 Facebook 登录失败(总是 isCancelled)

    我已在 iOS 应用程序中将 Facebook SDK 从 3 21 1 升级到 4 1 已上线 我仔细遵循升级指南 并实施了新的登录方法 我使用的代码是 Facebook 文档中提供的代码 但是自从升级以来 每次我尝试登录 设备或模拟器
  • 如何在 Objective-C + Cocoa 中创建自定义无边框 NSWindow?

    首先我要说的是 这是我的第一个真正的 Cocoa 应用程序 这是一个简单的应用程序 几乎在无边框窗口中显示我的网站 我目前创建无边框窗口的方式使用以下内容 void awakeFromNib window setStyleMask NSBo
  • AVExportSession 在后台运行

    我正在开发一款需要合并多个视频的应用程序 我在用AVExportSession导出合并的视频 我还显示导出视频的进度条 大多数时候它都运行正确 当我们锁定屏幕或将应用程序置于后台模式时 就会出现此问题 这次 如果导出正在进行中 则将应用程序
  • 如何检测和处理UIWebView中的HTTP错误代码?

    我想在收到 HTTP 错误 404 等时通知用户 我怎样才能检测到这一点 我已经尝试过实施 void webView UIWebView webView didFailLoadWithError NSError error 但当我收到 40
  • RestKit RKObjectMapping Swift 可选

    我有一个名为Activity可以选择有一个coordinate附于其上 import MapKit class Activity NSObject var coordinate CLLocationCoordinate2D class fu
  • iOS7状态栏和导航栏问题

    我正在将我的应用程序迁移到 iOS 7 为了处理状态栏问题 我添加了以下代码 if UIDevice currentDevice systemVersion floatValue gt 7 0f CGRect frame self navi
  • XCode iPhone 项目中目标所有配置的通用预处理器宏

    我的应用程序的每个目标通常有四种配置 调试 发布 分发 临时 有没有办法为所有 4 个添加一个通用宏 同时不破坏我到目前为止设置的宏 您在编辑器中看到 多个值 提前致谢 奥比旺 在前缀头文件中定义宏 将包含在所有源文件中
  • AVVideoComposition 应用过滤器处理程序不调用

    I want to add an overlay image into a video I use AVVideoComposition and CIFilter to do this but AVAsynchronousCIImageFi
  • OCMockito everything() 用于原始类型

    对于方法签名 void insertValue NSUInteger value 我想看看是否有任何值的 insertValue 永远不会被调用 verifyCount test never insertValue 0 由于编译器抱怨 ev
  • 使用 Core Audio 忽略 __cxa_throw 是否安全?

    一个相似的question https stackoverflow com questions 12861748 how do i know when safe to ignore cxa throw on an all exception
  • iOS 4.3 SDK - 在 3G 设备上调试

    目前有关 iOS 4 3 设备支持的信息还很少 然而 由于 iPhone 3G 设备 以及较旧的 iPod touch 设备 缺乏 4 3 Beta 版 许多人认为这可能是旧设备操作系统升级的终结 即使这个假设现在是错误的 但有一天它也不会
  • Core Data 与 Sqlite 以及性能

    我想知道是否有人有关于已在 3 0 SDK 中转换为 Core Data 的旧 sqlite 应用程序之间的性能差异的真实数据 我怀疑核心数据在底层只是使用 sqlite 并且为了方便成本而增加了一些开销 但我想我还是会问 Core Dat
  • Swift AVCaptureSession 关闭打开按钮错误:当前不支持多个音频/视频 AVCaptureInputs

    我有一个可用的条形码扫描仪代码 当我点击openCamera按钮 第一次一切都很好 当我点击closeCamera按钮 很好 但是如果我再次点击openCamera按钮给出致命错误 代码和错误如下 事实上 是否可以一键切换相机视图 Barc
  • 在 iOS8.3 上显示警报视图时不必要地触发 iOS 键盘通知

    我们正在观察 iOS 8 3 上键盘将显示和隐藏通知的异常行为 视图控制器 监听键盘通知 有一个文本字段 单击并点击提交按钮后 该方法首先从文本字段中退出第一响应者 并显示一条警报以通知警告 一切正常 它会关闭键盘并按预期显示警报 也调用
  • 如何在ios中打开本机文件应用程序?

    如何使用 url 方案或其他方式打开 ios 的本机文件应用程序 我尝试搜索 url 方案但没有运气 这个问题似乎没有答案 苹果论坛上有这个问题的帖子 但仍然没有答案 https forums developer apple com mes
  • 从 NSArray 为 UITableView 创建索引

    我读过创建索引 uitableview 旁边的 a z 的最佳方法是设置一个 nsdictionaries 数组 其中每个字典对应一个部分 并且 rowValue 键包含一个行数组 NSDictionary headerTitle gt A
  • 在 Objective-C 中使用类别重写方法

    我可以使用类类别来覆盖已使用类别实现的方法吗 像这样 1 原始方法 BOOL method return true 2 重写方法 BOOL method NSLog error return true 这可行吗 还是非法的 From 苹果文
  • 将 JSON 字符串转换为 NSDictionary 时,并非所有键都起作用

    我使用以下代码将 JSON 字符串文字转换为包含每个项目的 NSDictionary 的数组 NSString json name Item 1 id 999 lang en type A version 15 NSData data js
  • UIAlertController 的弹出框变形

    我使用 UIToolbar 中的 UIAlertController 和首选操作表样式向用户呈现选项列表 呈现时 弹出框的箭头被切断 其角以两种不同的半径圆化 据我所知 我用来展示它的代码直接来自文档 UIAlertController a
  • 通过 SSL HTTPS 从 iPhone 发送 POST 数据

    Hai all 在我的 iPhone 项目中 我需要将用户名和密码传递到 Web 服务器 以前我使用 GET 方法传递数据并使用 GET 格式的 url 例如 localhost 8888 login userName admin pass

随机推荐

  • 浮点计算使用 float 给出的结果与使用 double 给出的结果不同

    我有以下代码行 hero gt onBeingHit ENEMY ATTACK POINT 1 0 hero gt getDefensePercent void onBeingHit int decHP 方法接受整数并更新健康点 float
  • WPF ListView 在处理大数据时性能非常差

    我在 WPF 中使用 ListView 时遇到性能非常差的情况 使用大约 30000 条记录 据我所知 虚拟化应该打开 因为这是默认设置 我什至在 XAML 中显式打开它 表现不佳的表现是这样的 初始绑定非常慢 几分钟 滚动速度非常慢 超过
  • 单击将中止进一步执行,因为 Python 3 被配置为使用 ASCII 作为环境编码

    我将 Quokka Python Flask CMS 下载到 CentOS7 服务器上 通过命令一切正常 sudo python3 manage py runserver host 0 0 0 0 port 80 然后我创建一个文件 etc
  • 根据屏幕尺寸更改标签尺寸 xamarin 表单

    我正在使用 xamarin forms 来做一个应用程序 我发现使用相同的大小来向 ios 设备发送字母是行不通的 在 7 plus 上它运行良好 但在 iphone 5 上它对于屏幕大小来说是一个大字母 有人知道如何制作具有可缩放尺寸的字
  • 如何让javascript忽略转义(\)字符? [复制]

    这个问题在这里已经有答案了 qAnswersR 90430 qAnswersR 90430 push math k frac x 20 2 256 frac y 15 2 81 1 math 我需要将值放入变量中 但是当我像这样 conso
  • rtrim 函数不适用于结尾 h 字母[重复]

    这个问题在这里已经有答案了 file refinish php folder rtrim file php echo folder refinis 哪里结束h 我尝试了其他一些结尾字母 没关系 rtrim 不会删除您在第二个参数中指定的字符
  • x86-64 汇编的性能优化 - 对齐和分支预测

    我目前正在编写一些 C99 标准库字符串函数的高度优化版本 例如strlen memset 等 使用带有 SSE 2 指令的 x86 64 汇编 到目前为止 我已经在性能方面取得了出色的结果 但当我尝试进一步优化时 有时会出现奇怪的行为 例
  • Shapeless 中 Nat 类型的限制

    在无形中 Nat 类型代表了一种在类型级别对自然数进行编码的方法 例如 这用于固定大小的列表 您甚至可以在类型级别上进行计算 例如附加一个列表N列表中的元素K元素并返回一个在编译时已知的列表N K元素 Is this representat
  • JPA中@Table注解有什么用?

    使用这些注释的全部目的是独立于数据库提供者 而不是重新生成 JAR 存档 如果我硬核 Table name myDatabase myTableName 我一开始就不明白使用 hibernate 的意义 如果我决定切换到不同的数据库提供商
  • 如何在for循环(Python)中写入txt文件?

    作为一个简单的练习 我试图将最多 500 个素数打印到一个文本文件中 但我不确定如何正确地将写入代码插入到 for 循环中 当前输出的只是最后一个素数 在本例中为 499 for num in range 2 500 prime True
  • Matplotlib Line3DCollection 用于随时间变化的颜色

    我正在尝试绘制随时间演变的 3D 线轨迹 并且我希望颜色发生变化以显示时间的流逝 例如从浅蓝色到深蓝色 然而 明显缺乏使用 matplotlib 的教程Line3DCollection 这是最接近的 https stackoverflow
  • 对 WebService 的 jQuery 调用返回“无传输”错误

    我有以下网络服务 WebMethod public string HelloWorld return Hello World 它是库存标准 没有对类装饰器进行任何更改 我有这个 jQuery 方法 var webMethod http lo
  • SimpleDateFormat 格式错误的值

    以下代码 SimpleDateFormat sdf new SimpleDateFormat MM dd System out println sdf format new Date 1293253200 12 25 2010 05 00
  • 实施工厂模式的正确方法是什么?

    我只是想知道这是否是在 PHP 中创建对象和实现工厂模式的正确方法 我知道我们有工厂方法模式和抽象工厂模式 但是我们有像下面这样的模式吗http noondreams com shared data pages images Factory
  • 如何返回 Mono,其中响应实体可以是两种不同类型

    我是 Spring Webflux Reactor Core 的新手 正在尝试执行以下功能 调用 userservice LoginWebApp 如果返回用户 则返回类型为 User 的ResponseEntity 如果为空 则返回 Str
  • 有没有一种更简单的方法可以删除字符第一次出现之前的所有内容?

    正如标题所说 这确实更出于兴趣 我的文件名格式为1347020478 Workbook1 12 19 19 csv 我想要做的是将时间戳从文件名的开头移开并返回其他所有内容 所以Workbook1 12 19 19 csv 我有以下代码可以
  • VLC 和 MJPEG 解码器流式传输(标头无效)

    我正在制作一个包含视频流的 WinRT 应用程序 现在我以 VLC 作为流媒体服务器和 MJPEGDecoder 库结束 http mjpeg codeplex com http mjpeg codeplex com 在客户端上解码视频 但
  • 如何编写批处理文件来设置类路径并执行java程序

    我的一些java程序需要很多jar文件才能执行 为了执行此操作 我可能必须将所有这些 jar 文件添加到环境变量的类路径变量中 否则每次打开新的 cmd 提示符时都必须在命令提示符处手动设置类路径 我不想在环境变量中的类路径变量中添加所有
  • 虚函数破坏私有访问

    我最近看到这篇文章IBM site http publib boulder ibm com infocenter comphelp v8v101 index jsp topic 2Fcom ibm xlcpp8a doc 2Flanguag
  • 从字典数组中删除键值的重复项

    我正在执行 Facebook API 请求 以返回特定 Facebook 群组中的所有专辑名称 我返回一个包含 3 个键 值的字典数组 其中一个是映射到专辑名称的键 name 以及键 id 和 created time 唯一的问题是 由于某