【问题标题】:IOS: Can I use ABAddressBook to store contact information outside the iPhones Contacts?IOS:我可以使用 ABAddressBook 将联系人信息存储在 iPhone 联系人之外吗?
【发布时间】:2012-04-09 14:13:09
【问题描述】:

我想存储一些联系信息,并允许用户给该人打电话/发送电子邮件,而不仅仅是查找信息。我不希望联系人存储在用户通讯录中的联系人中。我只想将其保留在应用程序中。我可以为此使用 ABAddressBook,还是需要创建自己的类来完成此操作?

【问题讨论】:

    标签: ios class contacts abaddressbook


    【解决方案1】:

    我会解决你的两个问题:

    我可以为此使用 ABAddressBook 吗?

    您不能使用 ABAddressBook 来存储单独的联系人数据库。这是ABAddressBook Class Reference的摘录:

    ABAddressBook 类提供了地址簿的编程接口——一个被多个应用程序用来存储联系人和其他个人信息的集中式数据库。

    这里所指的数据库是预先指定的数据库;没有方法或类来创建一个新的,因为整个通讯簿框架提供对单个数据库的访问,用户可以通过联系人应用程序访问该数据库。

    我需要创建自己的类来完成此任务吗?

    您需要为此创建一个自定义类。如果您计划支持具有许多、许多 联系人(在数千/高数百范围内)的用户,您可能会使用 SQLite 数据库。如果您计划支持联系人很少的用户,您可能应该使用 .plist。

    通常,Objective-C 程序员直接使用 SQLite 的 C 库,但现在有一个很棒的包装器,您可以找到 here,称为 FMDB。

    有关 SQLite 语法和基础知识的信息,请参阅SQLite Language Guide

    最后,这里有几本关于 iOS 的 SQLite 和数据库编程的书籍:

    希望这会有所帮助!

    【讨论】:

    • 当然可以!清理了一些东西谢谢!然而,快速的问题......为什么你推荐 FMDB 而不是核心数据......或者它们是分开的东西?谢谢!
    • @daveomcd FMDB 是 SQLite 的包装器,而 Core Data 是一种完全不同的数据持久化方式。所以,是的,它们是完全不同的东西。
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 2011-12-29
    • 2016-10-24
    • 2018-04-10
    • 1970-01-01
    • 2013-03-15
    相关资源
    最近更新 更多