iphone - 如何查看通讯录中是否添加了新联系人?

标签 iphone ios4

嘿,
我正在数据库中保存所有联系人的副本。
启动后,我想检查地址簿中是否有新联系人,以便将其添加到我的数据库中。

如何执行此检查?我找不到合适的逻辑来实现它。

最佳答案

在地址簿中获取“新联系人”并不简单。相反,你必须做这样的事情:

  1. Get an array of all the contacts in the address book .
  2. 循环遍历数组并查看联系人是否在您的数据库中。 (注意:记录 ID can change!)
  3. 如果您发现数据库中没有的联系人,请将其添加。

存储 last modification date 可能也是明智之举。属性并将其与每条记录进行比较,以便您了解现有记录是否发生了更改。

最后,这可能需要一段时间,具体取决于用户拥有的联系人数量。这可能是您想要在不阻塞 UI 的情况下执行的操作。 (另一个注意事项:地址簿类型不是线程安全的。如果您在后台线程中工作,请记住这一点。)

当您的应用程序运行时,您可以注册address book change notification callback收到应用程序运行时发生的更改的警报。

关于iphone - 如何查看通讯录中是否添加了新联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3911013/

相关文章:

iOS 4.3 SDK 部署到 iPhone 3.1.3 错误

javascript - 摇动ios设备时加载随机图像

iphone - 在 Textview 中共享数据并维护数据状态不起作用

ios - 关于 ARC , AutoRelease 的困惑

ios - 检查我的应用程序在 AppStore 上是否有新版本

iphone - iPhone 中每 60 秒调用一个方法

iphone - 如何为UITableView添加自定义EditingAccessoryView?

objective-c - UIRequiresPersistentWifi——这在 4.2 中仍然可用吗?

iphone - NSCollectionView for Cocoa-Touch (iPhone/iPad)

iphone - 在 iOS 中读取文本文件中的 url 后加载 NSURL?