问题标签 [abrecordref]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
458 浏览

multithreading - iPhone:通讯录有时会被删除

ABAddressBook在我的应用程序中使用。
对 AB 的访问来自一个单独的线程,以释放 UI。
我知道对 AB 实例的访问必须始终来自同一个线程,因此我构建了一个包装器。
包装器是一个单例,它维护自己的后台线程。
到达包装器的所有消息都会自动重定向到后台线程,而调用线程一直等到执行结束,最后用相关数据(联系人列表、特定联系人等)填充 out 参数。

即使,设备上的通讯录有时也会变空(删除)。
每 10-20 次使用该应用程序后。

所以,我有几个问题:

  • 在专用线程中从 AB 获取 ABRecordRef 后,我是否还必须在同一个线程中从 ABRecordRef 检索数据,或者它可能是另一个线程?我还有一个 ABRecordRef 的包装器,所以当我从 AB 检索联系人时,我填充了 person 包装器对象,然后我从原始线程中使用它(从 ABRecordRef 读取)。
  • 当我使用 AB UI API(人物选择器导航控制器、新人物视图控制器等)并将我的 ABAddressBook 实例传递给它们时,我是否必须担心 API 不会使用来自同一线程的这个 AB 实例创造了它?我已经看到我可以传递 NULL 而不是 AB 实例,然后 API 将使用自己的 AB,但是当我想修改联系人时该怎么办?在这种情况下,我必须将 ABRecordRef 实例传递给它......
  • 还有什么我没有想到的吗?

先感谢您。

——
迈克尔

0 投票
1 回答
972 浏览

objective-c - ABGroup创建问题

我在向 iOS 通讯簿添加群组时遇到问题。在模拟器中一切正常,我添加了组,并为其分配了联系人。但是,当同一应用程序在 iPhone 或 iPad 上运行时,不会创建组,因此不会将新联系人分配给该特定组。

ABGroupCreate 方法不返回任何错误。

请问解决方法?:)

0 投票
3 回答
155 浏览

objective-c - 返回类型应该是什么?

这个人是 ABRecordRef

谢谢

0 投票
4 回答
16372 浏览

iphone - 将数据存储到 NSUserDefaults

在我的 iPhone 应用程序中,我有一个名为的类Contact,它包含一个ABRecordRef作为对特定联系人的引用的类。

我需要将这些联系人的组存储在 中,但由于是自定义类NSUserDefaults,因此事情进展不顺利。Contact

在这种情况下该怎么做的任何想法?

0 投票
1 回答
362 浏览

iphone - 联系人在被选中后从地址簿中删除

我正在我的应用程序和 iPhone 的地址簿之间进行一些集成。这是我的程序流程。

  1. 用户想要导入联系人
  2. 应用程序向用户呈现“ABPeoplePickerNavigationController”。
  3. 用户选择他们想要的联系人:
  4. 委托方法被称为:

这是代码:

5:在- (void)showNewContactViewThroughController:withRecord:我们创建 AbNewPersonViewController。

然后推它。

6:用户点击“取消”退出 ABNewPersonViewController 视图。
7:检查联系人应用程序,他们在步骤 3 中选择的联系人已消失。噗,消失,删除,删除。

为了解决这个问题,我保存了 ABRecordRef(到实例变量“selectedContact”)。然后,在- (void)newPersonViewController:didCompleteWithNewPerson:我有:

但是,这似乎没有任何作用。代码已执行,但“旧联系人”self.selectedContact 未保存到地址簿。所以,我的联系人仍然在消失。我究竟做错了什么?看起来好像您在 ABNewPersonViewController 中点击了“取消”,它会“删除”它从通讯簿中提供的数据?所以我给它的人然后死了?任何帮助,将不胜感激!

0 投票
2 回答
6393 浏览

iphone - 如何获取 ABRecordRef 的所有属性的列表?

我想获取 ABPersonRef 和 A​​BGroupRef 的所有属性的列表,而不必使用 kABPersonFirstNameProperty、kABPersonLastNameProperty 的 iOS 预定义键...我正在使用地址簿,我想遍历所有值一个特定的人。我知道有预定义的键,但苹果将来很可能会添加新的键,所以我想做类似的事情:

我知道我会遇到稍后必须循环的多值项,但目标是获取我可以为单值属性迭代的键列表。我不在乎返回的类是什么,NSArray、NSDictionary……随便。

我非常感谢任何建议!

0 投票
2 回答
828 浏览

iphone-sdk-4.1 - 存储 ABRecordRef 的数组

我们如何存储和访问一个列表,ABRecordRef以便我们可以在另一个类和以后使用它?

0 投票
1 回答
1360 浏览

ios - 向通讯簿添加记录

如何在不使用 ABPeoplePickerNavigationController 的情况下向通讯簿添加新记录?

0 投票
1 回答
1136 浏览

core-data - 在核心数据中存储 ABRecordRef

我想将 ABRecordRef 存储在核心数据的“客户端”实体中。

我在苹果文档中读到 ABRecordRef 是一种原始的 C 数据类型。据我所知,您只能在核心数据中插入对象。考虑到这一点,将其存储在核心数据中的最佳方式是什么?

我想过将其转换为 NSNumber 进行存储,但不知道如何将其转换回 ABRecordRef 以供使用。

我还认为我可以将它单独放入 NSArray/NSSet/NSDictionary 中,只是充当包装器,但不知道这是否愚蠢/效率低下/甚至会起作用。

想法赞赏。

非常感谢

0 投票
1 回答
674 浏览

iphone - 无法在 iPhone 中关闭 ABPersonViewController

如何解除 ABPersonViewController?这是我的代码

记录在我的 ivar 中,声明为 .h 文件中的 ABRecordRef 记录。ABPersonViewControllerDelegate 方法永远不会被调用?怎么了?任何形式的帮助表示赞赏。谢谢