【问题标题】:Best way to implement address book autocompletion on iPhone?在 iPhone 上实现地址簿自动完成的最佳方法?
【发布时间】:2011-03-08 10:08:24
【问题描述】:

我想知道拥有文本字段的最佳(最快和最简单)方法是什么 使用 iPhone 的通讯录联系人信息自动完成。

每次按键都足够快时访问地址簿吗? 还是我必须将所有内容加载到我自己的本地数据库中(通常是 CoreData)? 另一种方法是在每次应用启动时将所有内容加载到内存中。任何经验 关于通讯录的访问速度?

添加:我希望避免加载地址簿内容的本地副本,因为这不仅需要编写更多代码,而且在修改地址簿时您还需要同步本地副本。

【问题讨论】:

  • 自动完成字段中会出现什么样的联系人信息?
  • 姓名(名字和姓氏)、电子邮件或电话号码。用户应该能够使用这些详细信息中的任何一个来选择联系人

标签: iphone core-data memory-management autocomplete addressbook


【解决方案1】:

对于逐个字符的超快速检索,您需要的方法称为Directed acyclic word graph

【讨论】:

    【解决方案2】:

    每个人都会访问地址簿 按键按下的时间是否足够快?

    可能不适用于大型书籍,但请测试一下。您可以使用每个附加字符调用 ABAddressBookCopyPeopleWithName 并查看弹出的内容。您很可能需要最少数量的字符,例如3 在执行搜索之前,否则你会为每个第一个字符获得很多回报。

    但是,我认为没有电话号码和地址的功能。

    另一种方法是创建一个带有字母和数字的树数据结构,该结构将分支到包含特定地址簿条目的 ABRecordID 的叶子。使用 Core Data 关系是一种快速简便的方法。当然,您必须不断更新您的树。

    【讨论】:

      猜你喜欢
      • 2014-12-27
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 2016-01-27
      相关资源
      最近更新 更多