Как я могу проверить существование группы (доступна группа или нет) в iphone? - PullRequest
0 голосов
/ 22 марта 2011

Я добавляю контакты в группу iphone своим приложением.Есть ли какая-то другая логика ??

Кто-нибудь может сказать мне, как я могу проверить существование групп ???

Я использую следующий код для проверки существования группы, но может быть b'coz иззацикливает сбой моего приложения в iphone.

// ab = объект AddressBook

CFArrayRef a = ABAddressBookCopyArrayOfAllGroups(ab);

for (CFIndex i = CFArrayGetCount(a)-1; i >= 0; i--)

{

    ABRecordRef     g = (ABRecordRef) CFArrayGetValueAtIndex(a, i);



    CFStringRef     s = (CFStringRef) ABRecordCopyValue(g, kABGroupNameProperty);

    CFComparisonResult  r = CFStringCompare((CFStringRef)name, s, 0);

    CFRelease(s);



    if (r == kCFCompareEqualTo)

    {

        group = CFRetain(g);

        break;

    }

}

CFRelease(a);



CFErrorRef err = nil;

if (!group)

{

    group = ABGroupCreate();

    ABRecordSetValue(group, kABGroupNameProperty, name, &err);

    if (!err)

    {

        ABAddressBookAddRecord(ab, group, &err);

    }

    if (!err)

    {

        ABAddressBookSave(ab, &err);

    }

}

if (err)

{

    CFRelease(err);

}

1 Ответ

1 голос
/ 22 марта 2011

Из документации Apple:

Вы можете найти определенную группу по идентификатору записи, используя функцию ABAddressBookGetGroupWithRecordID. Вы также можете получить массив всех групп в адресной книге, используя ABAddressBookCopyArrayOfAllGroups, и получить счетчик количества групп в адресной книге, используя функцию ABAddressBookGetGroupCount.

.

Вы можете изменять членов группы программно. Чтобы добавить человека в группу, используйте функцию ABGroupAddMember; чтобы удалить человека из группы, используйте функцию ABGroupRemoveMember. Прежде чем запись о человеке может быть добавлена ​​в группу, она должна быть уже в базе данных адресной книги. Если вам необходимо одновременно добавить новую запись о человеке в группу и в базу данных, сначала необходимо добавить ее в базу данных адресной книги, сохранить базу данных, а затем добавить запись о человеке в группу. **

Для получения дополнительной информации, пожалуйста, прочитайте документацию Apple.

http://developer.apple.com/library/ios/#documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/DirectInteraction.html#//apple_ref/doc/uid/TP40007744-CH6-SW1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...