嘿,
我正在数据库中保存所有联系人的副本。
启动后,我想检查地址簿中是否有新联系人,以便将其添加到我的数据库中。
如何执行此检查?我找不到合适的逻辑来实现它。
最佳答案
在地址簿中获取“新联系人”并不简单。相反,你必须做这样的事情:
- Get an array of all the contacts in the address book .
- 循环遍历数组并查看联系人是否在您的数据库中。 (注意:记录 ID can change!)
- 如果您发现数据库中没有的联系人,请将其添加。
存储 last modification date 可能也是明智之举。属性并将其与每条记录进行比较,以便您了解现有记录是否发生了更改。
最后,这可能需要一段时间,具体取决于用户拥有的联系人数量。这可能是您想要在不阻塞 UI 的情况下执行的操作。 (另一个注意事项:地址簿类型不是线程安全的。如果您在后台线程中工作,请记住这一点。)
当您的应用程序运行时,您可以注册address book change notification callback收到应用程序运行时发生的更改的警报。
关于iphone - 如何查看通讯录中是否添加了新联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3911013/