ios – GroupMe联系方式|地址簿

ios – GroupMe联系方式|地址簿,第1张

概述我想构建一个像 GroupMe那样的ContactsTableViewController.它显示了我所有的地址簿联系人,甚至是GroupMe用户. 好像是ABPeoplePickerNavigationController cannot be customized. >所以,如果我使用ABAddressBook& amp; ABPerson,用自定义UITableViewController显示 我想构建一个像 GroupMe那样的ContactstableVIEwController.它显示了我所有的地址簿联系人,甚至是GroupMe用户.

好像是ABPeoplePickerNavigationController cannot be customized.

>所以,如果我使用ABAddressBook& amp; ABPerson,用自定义UItableVIEwController显示它们的最佳方法是什么?

我不想只将所有地址簿联系人加载到NSArray中,因为这可能会破坏内存(我知道手机上有数千个地址簿联系人的人).我习惯使用Core Data& NSFetchedResultsController用于这样的大型结果集.但是,要做到这一点,我必须在核心数据中创建一个ABPerson模型,这很容易,但保持与地址簿同步似乎具有挑战性并且有点愚蠢.
>将GroupMe联系人与地址簿联系人关联/链接的最佳方式是什么?
>在尝试重新创建这个GroupMe风格的界面时,还有什么我应该知道/考虑的吗?

解决方法 我是GroupMe iOS开发人员之一,这就是我们的工作.

>我们扫描用户地址簿并将其存储在Core Data中.我们有一个Contact对象,它具有1对多的电话号码,以及1对多的电子邮件地址.如果有很多联系人,第一次扫描可能需要一些时间,但在每次后续扫描中,我们会忽略在上次扫描之前具有kABPersonModificationDateProperty的任何ABRecordRef.这使得更新速度更快.
>然后,假设用户已选择同步联系人,我们会将电话号码和电子邮件地址上传到我们的服务器,该服务器将与现有的GroupMe用户匹配.
>最后,我们根据匹配(来自电话,电子邮件,脸书,推特)拉取GroupMe关系,并将这些关系存储在Core Data中.如果由于用户的地址簿中已存在电话/电子邮件而建立了关系,我们会将这些值传递回关系中,以便我们可以在GroupMe关系与我们存储在Core Data中的联系人之间建立一对一的关系.步骤1.通过这种方式,我们可以轻松地为本地联系人或GroupMe关系创建NSFetchRequests,并在任何时候提供他们的关系详细信息(因此我们可以显示本地联系人是GroupMe用户等 – 如屏幕截图中的Aaron G.)

我们也使用NSFetchedResultsController,因此如果我们的后台 *** 作找到任何新的联系人/关系,我们可以获得在UI中反映的更新.

唯一的其他提示是确保您的获取请求预取所有关系,因此当您滚动以填充错误时,加载关系原因不会访问核心数据.

是的,虽然保持核心数据与用户地址簿的同步比愚蠢更乏味,但这是值得的,因此您可以轻松访问它以及需要了解所有爵士乐的查询.

总结

以上是内存溢出为你收集整理的ios – GroupMe联系方式|地址簿全部内容,希望文章能够帮你解决ios – GroupMe联系方式|地址簿所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1101823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存