Ссылка ABAddressBook C
ABAddressBook непрозрачный тип обеспечивает интерфейс программирования для Адресной книги — централизованная база данных, используемая многократными приложениями для хранения контакта и других персональных данных о людях. База данных Address Book также поддерживает понятие «группы», содержащей одно или более лиц. Люди могут принадлежать многократным группам, и группы могут также принадлежать другим группам.
ABAddressBook непрозрачный тип обеспечивает функции для доступа, добавления и удаления группы и записей лица включая «меня» запись, соответствующая зарегистрированному пользователю. Например, Вы используете ABCopyArrayOfAllGroups
функция для получения массива всей группы записывает в базе данных, или ABCopyArrayOfAllPeople
функция для получения всех записей лица. Вы используете ABGetMe
функция для получения соответствия записи лица зарегистрированному пользователю. Можно также добавить и удалить записи с помощью ABAddRecord
и ABRemoveRecord
функции.
Можно также искать записи, соответствующие определенный запрос, который Вы указываете путем создания объекта ABSearchElement. Вы используете ABGroupCreateSearchElement
или ABPersonCreateSearchElement
функция для создания ABSearchElement возражает для соответствующей записи. Тогда используйте ABCopyArrayOfMatchingValues
Функция ABAddressBook, передавая ABSearchElement как параметр, для запросов базы данных. Посмотрите ABSearchElement для большего количества функций, создающих составные запросы.
Ваше приложение использует совместно используемый экземпляр ABAddressBook, возвращенного ABGetSharedAddressBook
функция для взаимодействия с базой данных (многократные экземпляры ABAddressBook не поддерживаются). Изменения, которые Вы вносите в рекордные объекты, сохранены в памяти и сохраняются на диск, когда Вы вызываете ABSave
функция.
Адресная книга отправляет уведомления, если какое-либо приложение включая Ваш вносит изменения в базу данных. Как правило, Вы наблюдаете, что эти уведомления обновляют любое зависимое представление или объекты модели в Вашем приложении. Используйте CFNotificationCenter для регистрации для уведомлений ABAddressBook: kABDatabaseChangedNotification
и kABDatabaseChangedExternallyNotification
. Эти уведомления не отправляются до ABGetSharedAddressBook
вызывается.
ABAddressBook непрозрачный тип “бесплатный соединенный мостом” с его дубликатом Objective C. Это означает что ABAddressBookRef
тип является взаимозаменяемым в вызовах функции или вызовах метода с экземплярами класса ABAddressBook.
-
Добавляют данные свойства ко всем записям указанного типа в базе данных Address Book и возвращают число свойств, успешно добавленных.
Объявление
Swift
func ABAddPropertiesAndTypes(_
addressBook
: ABAddressBook!, _recordType
: CFString!, _propertiesAndTypes
: CFDictionary!) -> CFIndexObjective C
CFIndex ABAddPropertiesAndTypes ( ABAddressBookRef addressBook, CFStringRef recordType, CFDictionaryRef propertiesAndTypes );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
recordType
Тип записи Вы хотите добавить свойства к:
kABGroupRecordType
илиkABPersonRecordType
.propertiesAndTypes
Объект CFDictionary, содержащий свойства для добавления. В каждой словарной статье ключ является строкой с именем свойства, и значение является константой с типом свойства. Имя свойства должно быть уникальным. Можно хотеть использовать имена пакета стиля Java для свойств, например,
"org.dogclub.dogname"
или"com.mycompany.customerID"
. Тип свойства должен быть одной из констант, описанных вProperty Types
.Возвращаемое значение
Число свойств успешно добавило.
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Добавляет запись указанного типа к базе данных Address Book.
Объявление
Swift
func ABAddRecord(_
addressBook
: ABAddressBook!, _record
: ABRecordRef) -> BoolObjective C
bool ABAddRecord ( ABAddressBookRef addressBook, ABRecordRef record );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
record
Запись для добавления к базе данных Address Book. Если этот параметр
NULL
, функция повышает исключение.Возвращаемое значение
true
если запись была добавлена успешно,false
иначе.Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращает массив всех групп в базе данных Address Book.
Объявление
Swift
func ABCopyArrayOfAllGroups(_
addressBook
: ABAddressBook!) -> Unmanaged<CFArray>!Objective C
CFArrayRef ABCopyArrayOfAllGroups ( ABAddressBookRef addressBook );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
Возвращаемое значение
Массив объектов ABGroup, представляющих все группы в базе данных Address Book. Если база данных не содержит групп, функция возвращает пустой массив. Вы ответственны за выпуск этого объекта.
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.3 и позже.
-
Возвращает массив всех людей в базе данных Address Book.
Объявление
Swift
func ABCopyArrayOfAllPeople(_
addressBook
: ABAddressBook!) -> Unmanaged<CFArray>!Objective C
CFArrayRef ABCopyArrayOfAllPeople ( ABAddressBookRef addressBook );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
Возвращаемое значение
Массив объектов АБПЕРСОНА, представляющих всех людей в базе данных Address Book. Если база данных не содержит людей, функция возвращает пустой массив. Вы ответственны за выпуск этого объекта.
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.3 и позже.
-
Возвращает массив записей, соответствующих данный поисковый элемент или пустой массив, если никакие записи не соответствуют поисковый элемент.
Объявление
Swift
func ABCopyArrayOfMatchingRecords(_
addressBook
: ABAddressBook!, _search
: ABSearchElement!) -> Unmanaged<CFArray>!Objective C
CFArrayRef ABCopyArrayOfMatchingRecords ( ABAddressBookRef addressBook, ABSearchElementRef search );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
search
Поисковый элемент, указывающий запрос. Если
search
NULL
, эта функция повышает исключение. Создайте объект ABSearchElement использование рекордных определенных функций:ABGroupCreateSearchElement
илиABPersonCreateSearchElement
. Посмотрите ABSearchElement для большего количества функций, создающих составные запросы.Возвращаемое значение
Новый массив, содержащий объекты ABRecord, представляющие все записи то соответствие
search
. Если не соответствуют никакие записиsearch
, эта функция возвращает пустой массив. Вы ответственны за выпуск этого объекта.Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращает массив, содержащий имена всех свойств для указанного типа записи.
Объявление
Swift
func ABCopyArrayOfPropertiesForRecordType(_
addressBook
: ABAddressBook!, _recordType
: CFString!) -> Unmanaged<CFArray>!Objective C
CFArrayRef ABCopyArrayOfPropertiesForRecordType ( ABAddressBookRef addressBook, CFStringRef recordType );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
recordType
Указывает тип записи:
kABGroupRecordType
илиkABPersonRecordType
.Возвращаемое значение
Новый массив, содержащий имена (объекты CFString) всех свойств в
recordType
. Вы ответственны за выпуск этого объекта.Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращает код страны по умолчанию для записей с неуказанными кодами стран.
Объявление
Swift
func ABCopyDefaultCountryCode(_
addressBook
: ABAddressBook!) -> Unmanaged<CFString>!Objective C
CFStringRef ABCopyDefaultCountryCode ( ABAddressBookRef addressBook );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
Возвращаемое значение
Строка с кодом страны по умолчанию. Вы ответственны за выпуск этого объекта.
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.3 и позже.
-
Возвращает имя типа записи, соответствующей данный уникальный идентификатор.
Объявление
Swift
func ABCopyRecordTypeFromUniqueId(_
addressBook
: ABAddressBook!, _uniqueId
: CFString!) -> Unmanaged<CFString>!Objective C
CFStringRef ABCopyRecordTypeFromUniqueId ( ABAddressBookRef addressBook, CFStringRef uniqueId );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
uniqueId
Уникальный идентификатор для записи. Если это
NULL
, эта функция повышает исключение.Возвращаемое значение
Строка с именем типа для записи, соответствующей данный уникальный идентификатор. Вы ответственны за выпуск этого объекта.
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.3 и позже.
-
Возвращает запись, соответствующую данный уникальный идентификатор.
Объявление
Swift
func ABCopyRecordForUniqueId(_
addressBook
: ABAddressBook!, _uniqueId
: CFString!) -> ABRecordRefObjective C
ABRecordRef ABCopyRecordForUniqueId ( ABAddressBookRef addressBook, CFStringRef uniqueId );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
uniqueId
Уникальный идентификатор для записи. Если это
NULL
, эта функция повышает исключение.Возвращаемое значение
Запись, соответствующая данный уникальный идентификатор. Если не соответствует никакая запись
uniqueId
, функциональные возвратыNULL
. Вы ответственны за выпуск этого объекта.Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращает строку, содержащую отформатированный адрес.
Объявление
Swift
func ABCreateFormattedAddressFromDictionary(_
addressBook
: ABAddressBook!, _address
: CFDictionary!) -> Unmanaged<CFString>!Objective C
CFStringRef ABCreateFormattedAddressFromDictionary ( ABAddressBookRef addressBook, CFDictionaryRef address );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
Возвращаемое значение
Возвращает строку, содержащую отформатированный адрес. Вы ответственны за выпуск этого объекта.
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.3 и позже.
-
Возвращает объект АБПЕРСОНА для зарегистрированного пользователя.
Объявление
Swift
func ABGetMe(_
addressBook
: ABAddressBook!) -> Unmanaged<ABPerson>!Objective C
ABPersonRef ABGetMe ( ABAddressBookRef addressBook );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
Возвращаемое значение
Запись АБПЕРСОНА, представляющая зарегистрированного пользователя, или
NULL
если пользователь никогда не указывал такую запись. Вы ответственны за сохранение и выпуск этого объекта по мере необходимости.Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращает уникальный совместно используемый объект ABAddressBook.
Объявление
Swift
func ABGetSharedAddressBook() -> Unmanaged<ABAddressBook>!
Objective C
ABAddressBookRef ABGetSharedAddressBook ( void );
Возвращаемое значение
Адресная книга для зарегистрированного пользователя. Вы ответственны за сохранение и выпуск этого объекта по мере необходимости.
Обсуждение
Каждое приложение совместно использует адресную книгу для зарегистрированного пользователя, и эта функция возвращает его. Если Вы вызываете эту функцию несколько раз или пытаетесь создать новую адресную книгу, Вы получаете указатель на ту же совместно используемую адресную книгу.
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Возвраты, ли, если там не сохраняются изменения в адресной книге.
Объявление
Swift
func ABHasUnsavedChanges(_
addressBook
: ABAddressBook!) -> BoolObjective C
bool ABHasUnsavedChanges ( ABAddressBookRef addressBook );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
Возвращаемое значение
true
если там не сохраняются изменения,false
иначе.Обсуждение
Несохраненный флаг изменений установлен автоматически каждый раз, когда изменения внесены в адресную книгу.
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Удаляет данные свойства из всех записей этого типа в базе данных Address Book и возвращает число свойств, успешно удаленных.
Объявление
Swift
func ABRemoveProperties(_
addressBook
: ABAddressBook!, _recordType
: CFString!, _properties
: CFArray!) -> CFIndexObjective C
CFIndex ABRemoveProperties ( ABAddressBookRef addressBook, CFStringRef recordType, CFArrayRef properties );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
recordType
Имя записи для удаления свойств из:
kABGroupRecordType
илиkABPersonRecordType
.properties
Массив свойств (объекты CFString) для удаления.
Возвращаемое значение
Число свойств успешно удалено.
Обсуждение
Только пользовательские свойства могут быть удалены. Эта функция не реализована.
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Удаляет указанную запись из базы данных Address Book.
Объявление
Swift
func ABRemoveRecord(_
addressBook
: ABAddressBook!, _record
: ABRecordRef) -> BoolObjective C
bool ABRemoveRecord ( ABAddressBookRef addressBook, ABRecordRef record );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
record
ABRecord возражают, чтобы быть удаленными. Если
NULL
, эта функция повышает исключение.Возвращаемое значение
true
если запись была удалена успешно,false
иначе.Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Сохраняет все изменения, внесенные начиная с последнего сохранения.
Объявление
Swift
func ABSave(_
addressBook
: ABAddressBook!) -> BoolObjective C
bool ABSave ( ABAddressBookRef addressBook );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
Возвращаемое значение
true
если не было никаких изменений, если эта функция успешна илиfalse
иначе.Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Устанавливает рекорд, представляющий зарегистрированного пользователя.
Объявление
Swift
func ABSetMe(_
addressBook
: ABAddressBook!, _person
: ABPerson!)Objective C
void ABSetMe ( ABAddressBookRef addressBook, ABPersonRef moi );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
person
Объект АБПЕРСОНА, представляющий зарегистрированного пользователя. Передача
NULL
если Вы не хотите, чтобы запись представляла зарегистрированного пользователя.Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращает тип данного свойства для данной записи.
Объявление
Swift
func ABTypeOfProperty(_
addressBook
: ABAddressBook!, _recordType
: CFString!, _property
: CFString!) -> ABPropertyTypeObjective C
ABPropertyType ABTypeOfProperty ( ABAddressBookRef addressBook, CFStringRef recordType, CFStringRef property );
Параметры
addressBook
Адресная книга для зарегистрированного пользователя.
recordType
Содержащий тип записи
property
:kABGroupRecordType
илиkABPersonRecordType
.property
Свойство, тип которого Вы хотите получить.
Возвращаемое значение
Тип
property
как определено вProperty Types
. Еслиproperty
не существует вrecordType
, эта функция возвратыkABErrorInProperty
.Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Ссылка на объект ABAddressBook.
Объявление
Swift
typealias ABAddressBookRef = ABAddressBook
Objective C
typedef struct __ABAddressBookRef *ABAddressBookRef;
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
Это возможные типы свойств ABRecord.
Объявление
Swift
typealias ABPropertyType = CFIndex
Objective C
typedef enum _ABPropertyType { kABErrorInProperty = 0x0, kABStringProperty = 0x1, kABIntegerProperty = 0x2, kABRealProperty = 0x3, kABDateProperty = 0x4, kABArrayProperty = 0x5, kABDictionaryProperty = 0x6, kABDataProperty = 0x7, kABMultiStringProperty = 0x100 | kABStringProperty, kABMultiIntegerProperty = 0x100 | kABIntegerProperty, kABMultiRealProperty = 0x100 | kABRealProperty, kABMultiDateProperty = 0x100 | kABDateProperty, kABMultiArrayProperty = 0x100 | kABArrayProperty, kABMultiDictionaryProperty = 0x100 | kABDictionaryProperty, kABMultiDataProperty = 0x100 | kABDataProperty } ABPropertyType;
Константы
-
kABErrorInProperty
kABErrorInProperty
Возвращенный некоторыми функциями, когда используется недопустимое свойство.
Доступный в OS X v10.2 и позже.
-
kABStringProperty
kABStringProperty
Указывает объект CFString.
Доступный в OS X v10.2 и позже.
-
kABIntegerProperty
kABIntegerProperty
Указывает объект CFNumber представление целого числа.
Доступный в OS X v10.2 и позже.
-
kABRealProperty
kABRealProperty
Указывает объект CFNumber представление вещественного числа.
Доступный в OS X v10.2 и позже.
-
kABDateProperty
kABDateProperty
Указывает объект CFDate.
Доступный в OS X v10.2 и позже.
-
kABArrayProperty
kABArrayProperty
Указывает объект CFArray.
Доступный в OS X v10.2 и позже.
-
kABDictionaryProperty
kABDictionaryProperty
Указывает объект CFDictionary.
Доступный в OS X v10.2 и позже.
-
kABDataProperty
kABDataProperty
Указывает объект CFData.
Доступный в OS X v10.2 и позже.
-
kABMultiStringProperty
kABMultiStringProperty
Указывает ABMultiValue, содержащий объекты NSString.
Доступный в OS X v10.2 и позже.
-
kABMultiIntegerProperty
kABMultiIntegerProperty
Указывает ABMultiValue, содержащий объекты NSNumber, представляющие целые числа.
Доступный в OS X v10.2 и позже.
-
kABMultiRealProperty
kABMultiRealProperty
Указывает ABMultiValue, содержащий объекты NSNumber, представляющие вещественные числа.
Доступный в OS X v10.2 и позже.
-
kABMultiDateProperty
kABMultiDateProperty
Указывает ABMultiValue, содержащий объекты NSDate.
Доступный в OS X v10.2 и позже.
-
kABMultiArrayProperty
kABMultiArrayProperty
Указывает ABMultiValue, содержащий объекты NSArray.
Доступный в OS X v10.2 и позже.
-
kABMultiDictionaryProperty
kABMultiDictionaryProperty
Указывает ABMultiValue, содержащий объекты NSDictionary.
Доступный в OS X v10.2 и позже.
-
kABMultiDataProperty
kABMultiDataProperty
Указывает ABMultiValue, содержащий объекты NSData.
Доступный в OS X v10.2 и позже.
Оператор импорта
Objective C
@import AddressBook;
Swift
import AddressBook
Доступность
Доступный в OS X v10.2 и позже.
-
-
Это уведомления, опубликованные, когда что-то изменяется в базе данных Address Book. Эти уведомления не отправляются до
ABGetSharedAddressBook
был вызван.Объявление
Swift
let kABDatabaseChangedNotification: NSString! let kABDatabaseChangedExternallyNotification: NSString!
Objective C
CFStringRef kABDatabaseChangedNotification; CFStringRef kABDatabaseChangedExternallyNotification;
Константы
-
kABDatabaseChangedNotification
kABDatabaseChangedNotification
Этот процесс изменил базу данных AddressBook.
Доступный в OS X v10.2 и позже.
-
kABDatabaseChangedExternallyNotification
kABDatabaseChangedExternallyNotification
Другой процесс изменил базу данных AddressBook. Следующие ключи включены в словарь пользовательской информации уведомления:
kABInsertedRecords
,kABUpdatedRecords
, иkABDeletedRecords
. Если значения для всех ключейnil
, все изменилось, такой как тогда, когда база данных Address Book восстанавливается из резервной копии.Доступный в OS X v10.2 и позже.
-