gpt4 book ai didi

ios - 如果有多个电话号码与 ios8 显示联系人属性

转载 作者:可可西里 更新时间:2023-11-01 04:22:15 26 4
gpt4 key购买 nike

在 ios8 中,如果他有多个电话号码,我想访问联系人属性,但我不知道如何在 iOS8 中进行。

这是我在 iOS7 中的代码:

-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{

//If person has just one phone number
ABMultiValueRef phonesRef = ABRecordCopyValue(person, kABPersonPhoneProperty);
if(ABMultiValueGetCount(phonesRef) == 1){

CPIContact* contact = [self getCPIContactFromPerson:person andPhoneIndex:0];
[self addContact:contact];

// Dismiss the address book view controller.
[_addressBookController dismissViewControllerAnimated:YES completion:nil];
return NO;

}else if(ABMultiValueGetCount(phonesRef) == 0){

[[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Common_information",nil) message:NSLocalizedString(@"EditCallSMS_noNumber", nil) delegate:nil cancelButtonTitle:NSLocalizedString(@"Common_ok",nil) otherButtonTitles:nil] show];

return NO;
}
else{
return YES;
}

}

我知道我必须使用 iOS8 中的 didSelectPerson 方法,但我不知道如何告诉应用它可以像在 iOS7 中那样在选择一个人后继续。

我在 apple 文档中读到了 predicateForSelectionOfPerson,但我不明白如何使用它。

https://developer.apple.com/library/ios/documentation/AddressBookUI/Reference/ABPeoplePickerNavigationController_Class/index.html#//apple_ref/occ/instp/ABPeoplePickerNavigationController/predicateForSelectionOfProperty

预先感谢您的帮助。

最佳答案

在实例化人员选择器的地方添加:

if ([peoplePicker respondsToSelector:@selector(setPredicateForSelectionOfPerson:)])
{
peoplePicker.predicateForSelectionOfPerson = [NSPredicate predicateWithFormat:@"%K.@count > 1", ABPersonPhoneNumbersProperty];
}

这只会让您选择具有 2 个或更多电话号码的联系人。对于其他联系人,您将看到详细的联系方式。

关于ios - 如果有多个电话号码与 ios8 显示联系人属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26042972/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com