Я не уверен, что понимаю ваш вопрос, но если вы пытаетесь получить номер телефона и / или метку, которую фактически выбрал ваш пользователь, вы можете использовать это:
- (BOOL)peoplePickerNavigationController: (ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
// ensure user picked a phone property
if (property == kABPersonPhoneProperty) {
ABMultiValueRef phone = ABRecordCopyValue(person, property);
CFStringRef selectedNumber = ABMultiValueCopyLabelAtIndex(phone, identifier);
CFStringRef selectedLabel = ABMultiValueCopyValueAtIndex(phone, identifier);
// insert code to do something with the values above
[self dismissModalViewControllerAnimated:YES];
return NO; } // end if
else {
// display an alert or something - handle the error
} } // end else, end method
Я не слежу за вашим фрагментом кода - не уверен, для чего вы используете массив, если все, что вам нужно, это выбранный пользователем выбор.