18章アドレスブック

ユーザーがアプリ「連絡先」で見ているアドレスブックは、実質的にはデータベースで、Address Bookフレームワークの提供しているC言語のAPIを用いて直接アクセスできます。それを行うには、AddressBook.frameworkをリンクして、さらに<AddressBook/AddressBook.h>をインポートします。アドレスブックを操作するためのユーザーインタフェースも、こちらはObj-Cのクラスなのですが、Address Book UIフレームワークによって提供されています。AddressBookUI.frameworkをリンクし、<AddressBookUI/AddressBookUI.h>をインポートして使用します。

18.1 アドレスブックデータベース

アドレスブックとは、ABAddressBookCreateの呼び出しによって取得できる実体で型はABAddressBookRefです。関数名に「Create」が含まれているので、『入門iOS SDK』の12章で説明したように、使い終わったらABAddressBookRefのメソッドCFReleaseを呼び出して解放しなければなりません(使い終わっていないのに解放してはいけません!)。アドレスブックのデータは、ユーザーの「連絡先」のデータとまったく同じように並んでいます。データに変更を加えても、ABAddressBookSaveを呼び出すまでは、ユーザーの実際のアドレスブックに書き込まれません。

アドレスブックデータベースを構成しているもっとも主要なレコードはABPersonです。アドレスブックから個人のデータを取り出すには、通常、以下の関数を使用します。

  • ABAddressBookGetPersonCount ...

Get 詳解 iOS SDK 第4版 ―ワンランク上のiPhone/iPadプログラミング now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.