如何将 ABRecordRef 添加到 iPhone 中的 NSMutableArray?

2023-11-26

我想创建一个 ABRecordRef 数组来存储具有有效生日字段的联系人。

   NSMutableArray* bContacts = [[NSMutableArray alloc] init];
   ABAddressBookRef addressBook = ABAddressBookCreate();
   CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
   CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);

   for( int i = 0 ; i < nPeople ; i++ )
   {
       ABRecordRef ref = CFArrayGetValueAtIndex(allPeople, i );
       NSDate* birthdayDate = (NSDate*) ABRecordCopyValue(ref, kABPersonBirthdayProperty);
       if (birthdayDate != nil){
           [bContacts addObject:ref];
       }
   }

编译器显示此警告:警告:传递“addObject:”的参数 1 会丢弃指针目标类型中的限定符我搜索了网络,发现我必须将 ABRecordRef 转换为 ABRecord* 才能存储在 NSMutableArray 中。

[bContacts addObject:(ABRecord*) ref];

但ABRecord 似乎不是iOS 框架的一部分。现在我如何将 ABRecordRef 存储到 NSMutableArray ?


A ABRecordRef是一个类型定义CFTypeRef进而决定const void *。这就是警告的来源:调用addObject:, the const限定符“丢失”。

在这种情况下我们知道没问题。 CFTypeRef 是半高级类型,该类型的实例支持CFRetain and CFRelease。这反过来意味着可以将其投射到id并将其视为 NSObject。所以你应该能够简单地执行以下操作:

[bContacts addObject:(id)ref];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 ABRecordRef 添加到 iPhone 中的 NSMutableArray? 的相关文章

  • 如何检查 iOS 分发配置文件是否启用了推送通知?

    我有一个应用程序应该启用推送通知 但由于某种原因没有启用它们 我见过其他人下载并安装了该应用程序 但它甚至没有提示他们授予发送推送通知的权限 正如预期的那样 此应用程序不会出现在其 设置 gt 通知 中 但是 在我的 iPad 上 我能够从
  • 错误 ITMS-90207 Apple Store 提交

    当我在模拟器或设备上运行我的应用程序时 用于调试和发布构建配置 它可以完美运行 但是当我尝试将我的应用程序提交到 Apple Store 时 出现以下错误 错误 ITMS 90207 捆绑包无效 APPNAME app 处的捆绑包确实 不包
  • UILocalNotification 播放自定义声音

    我在我的应用程序中实现了本地通知 但我只是想知道是否有一种方法可以播放不属于 iPhone 应用程序主包的一部分的声音 基本上在我的应用程序中 我希望用户录制生成本地通知时播放的声音 而不是播放预先录制的或默认的声音 据我所知 这是可以实现
  • GM 发布 Xcode 6 编译

    我刚刚下载了 Xcode 6 的 GM 版本 但无法编译并出现以下错误 Command Applications Xcode app Contents Developer Toolchains XcodeDefault xctoolchai
  • 使用 iOS 7 检索设备 WiFi MAC 地址

    我们的应用程序使用设备 WiFi MAC 地址来唯一标识设备 根据苹果文档 https developer apple com news id 8222013a我们将开始使用 UIDevice 的identifierForVendor 属性
  • 如何将 UIPopoverPresentationController 的高度设置为与 UITableView 相同

    我在我的应用程序上使用 UIPopoverPresentationController 在我的 iPhone 上显示弹出窗口 使用 UIModalPresentationNone 我希望尺寸随着 UITableView 的高度而动态变化 但
  • Android Studio 无法运行 Xcode 模拟器

    我正在尝试使用 Xcode iPhone 模拟器模拟我的 Flutter 应用程序 但收到此错误 在升级 Android Studio 和 Xcode 之前 它运行良好 Launching lib main dart on iPhone X
  • 从视频生成缩略图 - ios7

    我用这个作为参考 从视频 URL 或 iPhone SDK 中的数据获取缩略图 https stackoverflow com a 6027285 1145339 该方法使用 MPMoviePlayerController 类而不是 AVF
  • 方向改变时重新定位控件

    我知道自动布局可用于在方向改变时使尺寸和位置保持一致 当方向改变时 是否可以完全改变布局 例如 请查看下面的纵向模式下简单登录屏幕的线框 现在 如果我旋转设备 我想完全重新定位控件 这种事情可以用自动布局来完成吗 如果没有 我该怎么办 谢谢
  • 使用 AVMutableVideoCompositionLayerInstruction 旋转视频

    我正在 iPhone 4 上使用前置摄像头拍摄视频 并将视频与其他一些媒体资源结合起来 我希望该视频为纵向 所有视频的默认方向都是横向 在某些情况下 您必须手动管理 我正在使用 AVFoundation 特别是 AVAssetExportS
  • 如何在 UITableView 中显示零行的表格

    我正在动态地将内容加载到 UITableView 中 如果有数据 表格需要显示数据 如果没有数据 表格应显示普通页面 但在我的应用程序中 表格显示带有两条分隔线的普通页面 我需要删除此分隔线并显示纯白色页面 请建议 任何帮助 将不胜感激 如
  • 为什么在尝试编译此代码时会收到错误“错误:未知类型名称'虚拟'”?

    Code struct IRenderingEngine virtual void Initialize int width int height 0 virtual void Render const 0 virtual void Upd
  • NSCalendar 返回明年第一周上周一的错误日期

    我使用下面的代码使用随机日期来计算上周一 哪个工作文件但我的代码在明年日期中断 下面是相同的代码 NSDate date NSDate dateWithTimeIntervalSince1970 1483620311 228 NSLog c
  • 如何检测 UISwipeGestureRecognizer 的结束?

    来自苹果文档 滑动是一种离散手势 因此每个手势仅发送一次关联的操作消息 void touchesEnded NSSet touches withEvent UIEvent event 当我使用 UISwipeGestureRecognize
  • 在 iOS 中从 ACAccountStore 获取 Facebook uid?

    您好 我想获取 Facebook 用户的 UIDAC帐户商店在 iOS 6 中 self accountStore ACAccountStore alloc init ACAccountType FBaccountType self acc
  • NSCFData isRessized 崩溃?

    我目前在控制台中收到此崩溃日志 2011 08 23 19 18 40 064 App 1697 707 NSCFData isResizable unrecognized selector sent to instance 0x11f1c
  • Admob 广告无法快速显示

    您好 我正在尝试将 admob 广告添加到已使用 swift 上传到应用商店的应用程序中 我在 admob 中制作了一个应用程序并复制了 appid 和广告 id 并显示了各自的横幅广告和插页式广告 这里的问题是当我写这行时 request
  • 无法从 iOS 中的框架访问 .nib(XIB) 文件

    我已经从现有的代码库中创建了一个框架 并尝试在新的代码库中使用它 这很好用 但是当我尝试访问属于我的框架包的一部分的 nib 文件时 我的应用程序崩溃了 这是我用来访问视图控制器 XIB 文件的代码 testViewController c
  • 使用 NSString 进行 UTF8 解码

    我是 Objective C 新手 尝试使用以下示例将格式错误的 UTF8 编码 NSString 转换为格式良好的字符串苹果文档 http developer apple com library mac documentation Coc
  • 将静态库合并为单个

    如何将静态库合并为一个 我确实有三个静态库 libSignatureLibary armv6 a libSignatureLibary armv7 a 和 libSignatureLibary i368 a 现在我想将这三个文件合并到一个库

随机推荐

  • 请描述一下您使用 Microsoft C++/CLI 的体验 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 C CLI 是非常强大的语
  • 对 Liferay 中存储的角度应用程序执行量角器测试时出现“角度未定义”错误

    我正在 Ubuntu 14 04 虚拟主机上运行 我正在尝试使用 PROTRACTOR 和 Liferay 中托管的应用程序创建一些 E2E 测试 对于登录部分 不需要角度 使用量角器进行的测试是好的 页面登录并正确导航 但是当我尝试使用以
  • 你能用Java编写虚函数/方法吗?

    是否可以写virtualJava 中的方法 就像 C 中的方法一样吗 或者 是否有一种合适的 Java 方法可以实现来产生类似的行为 我可以举一些例子吗 From 维基百科 In Java 所有非静态方法都是通过 默认 虚函数 仅有的 方法
  • 自定义滑块控件

    我想自定义滑块控件 但找不到任何可应用的东西 我想要制作的滑块应该如下图所示 请任何人建议我怎样才能做到 试试这个代码 CGRect frame CGRectMake 174 12 0 120 0 40 customSlider UISli
  • Spring Boot如何返回我自己的验证约束错误消息

    当我的请求出现问题时 我需要有自己的错误响应主体 并且我正在尝试使用 NotEmpty约束消息属性返回错误消息 这是我的类 它使用我需要的主体返回错误消息 package c m nanicolina exceptions import o
  • 想要在Weblogic中启用GZip压缩

    我想为我的静态文件启用 GZIP 压缩 例如由 weblogic 服务器提供服务的 css 样式 javascript 任何人都可以帮助如何在 weblogic 服务器中配置此功能 Go to http sourceforge net pr
  • 平滑骰子损失如何可微?

    我正在通过最小化 keras 来训练 U Netdice loss解决此问题常用的函数 改编自这里 and here def dsc y true y pred smooth 1 y true f K flatten y true y pr
  • Android 中的 .dex 文件是什么?

    我有一些关于dex 文件 什么是dex安卓中的文件 dex 在 Android 上如何工作 如何使用它们来调试 Android 应用程序 它们与java类文件相似吗 我需要具体信息 请提供帮助 欢迎任何真实的例子 关于 dex 文件 该系统
  • 不同地区不同的认证方式

    我正在开发的网站有两个部分 一个部分使用普通表单身份验证 另一个部分使用基于 HMAC 的身份验证 基于表单的工作方式与正常情况一样 除了使用自定义会员资格提供程序 最令人沮丧的是 默认情况下 如果决定使用表单身份验证 它会将所有 401
  • ASP.NET Web 窗体是否阻止双击提交?

    我正在从事一个 ASP NET 4 0 Web Forms 项目 在中断了大约 5 年之后 我对提交行为感到困惑 在按钮的单击事件中 我使线程休眠 以便可以多次单击提交按钮 据我所知 ASP NET 正在阻止多次调用单击事件 这是真的 顺便
  • 参考折叠规则是什么?C++ 标准库如何利用它们?

    以下链接提供了 4 种形式的参考折叠 如果我正确的话 这些是唯一的 4 种形式 http thbecker net articles rvalue references section 08 html 从链接 A 变成A A 变成A A 变
  • 在Python中将turtle绘制的图像转换为PNG

    我正在用 Python 制作一个抽象艺术模板生成器 它接受最小半径 最大半径和圆数的输入 它在随机的地方绘制随机的圆圈 也满足用户的要求 我想将海龟图形转换为 PNG 以便用户可以随心所欲地编辑模板 但我不知道如何继续 这是我的代码 imp
  • 为什么这些创建引用的方式表现不同?

    下面的代码运行正确 let a mut 3 a 4 assert eq a 4 以下也运行 let a Some 3 let mut b a unwrap assert eq a unwrap 3 但以下内容无法编译 let a Some
  • 通过php流式传输mp3文件

    这是我的 php 代码 用于通过 php 流式传输 mp3 文件 set time limit 0 dirPath path of the directory songCode REQUEST c filePath dirPath song
  • 易失性重载?

    我听说 volatile 和 const 一样是重载的因素 如果函数被易失性参数重载 易失性版本什么时候被调用 我无法想象调用 volatile version 时的情况 这是一个例子 include
  • VS Code SCSS 自动编译为 CSS

    我是编程新手 刚刚开始学习 HTML CSS 对于编码 我开始使用 VS Code 我真的很喜欢它 到目前为止 我遇到的唯一问题是将 SCSS 自动编译为 CSS 我搜索并阅读了许多解决方案 我发现最好的解决方案是在 VS Code 终端中
  • PHP 解析 ISO 格式的日期 [重复]

    这个问题在这里已经有答案了 我目前正在使用 ConstantContact 它返回带有更新字段的 XML 格式如下 2013 02 13T08 35 34 195Z 我假设这是日期 c 格式 如何解析这个格式呢 斯特托时间没有返回正确的值
  • 问:如何在命令提示符下显示汉字

    是否可以在命令提示符下显示中文字符 如果是这样 设置是什么 如果您需要阅读简体中文 GBK 即代码页936 在dos提示符下输入以下命令 chcp 936 Update 微软推出了一个新的终端应用程序 https aka ms termin
  • 在 WPF 窗口的构造函数中,InitializeComponent() 之前和之后应该做什么?

    一般来说 我一直在初始化Window之前的自己InitializeComponent 并设置随后包含的控件 然而 我并没有那么一致 而且我还没有真正注意到排序有问题 所以 我 可能 正在做一些可怕的事情吗 特别是之前设置子控件的属性是否有问
  • 如何将 ABRecordRef 添加到 iPhone 中的 NSMutableArray?

    我想创建一个 ABRecordRef 数组来存储具有有效生日字段的联系人 NSMutableArray bContacts NSMutableArray alloc init ABAddressBookRef addressBook ABA