1
연락처에 전화 번호가 하나만있는 경우 선택하고 싶습니다. 전화 번호가 두 개 이상인 경우 자세한 연락처 카드를 표시하고 싶습니다.연락처에 전화 번호가 두 개 이상있는 경우 세부 연락처 카드 표시
아래의 방법을 사용하고 있습니다. 정상적으로 작동합니다. 그러나이 방법은 결코
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
NSString* phone = nil;
ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty);
if (ABMultiValueGetCount(phoneNumbers) > 0) {
CFIndex index = ABMultiValueGetIndexForIdentifier(phoneNumbers, identifier);
phone = (__bridge_transfer NSString*)ABMultiValueCopyValueAtIndex(phoneNumbers, index);
}
}
를 호출되지 가져옵니다
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person {
if (person != nil) {
ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty);
if (ABMultiValueGetCount(phoneNumbers) == 1) {
//Do stuff to select phone number
}
}
}
그럼, 자세한 연락처 카드를 표시하려면이 유틸리티 메소드를 구현? 첫 번째 메서드를 주석 처리하면 두 번째 메서드가 호출됩니다. 어떻게 둘 다 호출 할 수 있습니까? 아니면이를 수행 할 수있는 또 다른 방법이 있습니까?