Получите случайное имя и номер (тот же контакт) из адресной книги пользователей iPhone

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

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

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

любые ссылки на учебные пособия или что-либо еще будут оценены.

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

Сэм


person Sam Jarman    schedule 06.06.2010    source источник


Ответы (1)


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

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

#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];
}
person fredrik    schedule 14.04.2011