2014-09-25 8 views
5

आईओएस 8 में एक से अधिक फोन नंबर हैं, तो संपर्क संपर्क गुणों को प्रदर्शित करें यदि मेरे पास एक से अधिक नंबरफ़ोन हैं तो मुझे संपर्क गुणों तक पहुंचना है, लेकिन मुझे नहीं पता कि आईओएस 8 में इसे कैसे किया जाए।यदि संपर्क में आईओएस 8

-(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 में मेरी कोड है आईओएस 7।

मैंने एप्पल दस्तावेज पर predorForSelectionOfPerson के बारे में पढ़ा है, लेकिन मुझे समझ में नहीं आता कि इसका उपयोग कैसे किया जाए।

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

आपकी मदद के लिए अग्रिम धन्यवाद।

उत्तर

10

इस जोड़े जहां लोग पिकर का दृष्टांत:

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

यह केवल आप 2 या अधिक फोन नंबर के साथ संपर्क का चयन करने देगा। अन्य संपर्कों के लिए, आपको संपर्क विवरण दिखाए जाएंगे।

+1

धन्यवाद! मुझे यही चाहिए! यह विपरीत था ("% के। @ गिनती <2") लेकिन अब मैं समझता हूं कि लोगों के पिकर के साथ भविष्यवाणी कैसे करें। – Leep

+0

तुम भी आवश्यकता हो सकती है: अगर ([पिकर respondsToSelector: @selector (setPredicateForEnablingPerson :)]) { picker.predicateForEnablingPerson = [NSPredicate predicateWithFormat: @ "। EmailAddresses @ गिनती> 0"]; } इसके बिना, मेरा ऐप सभी –

+0

@Leep पर संपर्क का चयन नहीं करेगा जब मैं '("% K. @ count <2 ") जोड़ता हूं, तो 2 से कम फ़ोन नंबर वाले सभी संपर्क भूरे रंग के होते हैं। – user1324887