概述:当人们使用 peoplePicker 并单击名称时,我正在尝试获取电话号码和全名。然后,我想在文本字段上显示全名并将电话号码保存为字符串。使用 ph num 和 name,我打算将其用作唯一标识。我不想使用 ABRecord 的唯一 ID,因为有时我的联系人中有重复项,尤其是当我将其与 google 等同步时...
如果我理解正确,我需要使用这个委托方法
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person
使用上述方法,我可以将全名显示在文本字段上作为 scuh
textField.text = ABRecordCopyCompositeName(person);
但是,我不知道如何获得 ph 值。为了让我获得 ph 号码,我必须使用其他委托方法:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person
property:(ABPropertyID)property
identifier:(ABMultiValueIdentifier)identifier
ABMultiValueRef phoneProperty = ABRecordCopyValue(person,property);
NSString *phone = (NSString *)ABMultiValueCopyValueAtIndex(phoneProperty,identifier);
但是,我不喜欢这样,因为当用户单击通讯簿上的姓名时,它会显示带有 ph 号、电子邮件等的详细信息,并且用户必须单击 ph 号。我想要的是从第一个屏幕上,用户单击名称,名称显示为文本字段,并且 ph 号在某处保存为字符串。