Получить случайное имя и номер (тот же контакт) из адресной книги пользователей iPhone - PullRequest
1 голос
/ 06 июня 2010

У меня было очень мало опыта использования адресной книги в iPhone SDK.

Есть ли у кого-нибудь фрагмент кода или он знает код для получения имени и номера человека, например, «Фред Смит - 027 292 2112». Мне не очень повезло с тем, что я пробовал.

Я хочу достичь этого программно, а не позволять пользователю решать (случайный выбор человека). Я также не хочу отображать средство выбора контактов

любые учебные ссылки, или что-нибудь еще будет оценено.

Заранее спасибо

Sam

1 Ответ

0 голосов
/ 15 апреля 2011

Этот код получит случайный контакт из вашей адресной книги.Затем он добавит имя и фамилию, а также первый номер телефона в свойства UILabel (имя, фамилия и телефон).

Чтобы это работало, вы должны сначала импортировать следующие файлы заголовков:

#import <AddressBook/AddressBook.h>
#import <stdlib.h>

stdlib.h импортирован, чтобы использовать arc4random.

- (IBAction)randomContact:(id)sender {
    ABAddressBookRef addressBook = ABAddressBookCreate();
    NSArray *people = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);

    // randomize an index
    NSInteger i = [people count];
    i = arc4random() % i;

    // get first and last name
    first.text = (NSString *)ABRecordCopyValue([people objectAtIndex:i], kABPersonFirstNameProperty);
    last.text = (NSString *)ABRecordCopyValue([people objectAtIndex:i], kABPersonLastNameProperty);


    // get first phonenumber
    ABMultiValueRef multi = ABRecordCopyValue([people objectAtIndex:i], kABPersonPhoneProperty);
    phone.text = (NSString*)ABMultiValueCopyValueAtIndex(multi, 0);


    [people release];
}
...