2013-05-29 3 views
0

Привет, я разрабатываю приложение, где, когда я нажимаю контакты, он переходит в ABpeoplePicekrNavigationcontroller и отображает все контакты в виде списка в таблице. Но я хочу выбрать все контакты, чтобы i хочу выполнить какое-то действие. Так как я могу это достичь.ABPeoplePickerNavigationController отображает все контактные данные в одном cel

Я не уверен, что это правильный вопрос. В основном я пытаюсь отправить контактную информацию на следующий экран вместо того, чтобы выбирать одну контактную информацию каждый раз, когда я хочу выбрать весь список контактов. Так как я могу это сделать? ?

Я думал, что я показать им, чтобы показать в одной клетке, даже если пространство не приспосабливает в одном cell.just показать им одну клетку так, чтобы выбирая одну ячейку, которая содержит все контактные данные лучше бы отправить ..

So может кто-нибудь предложить мне правильный путь, чтобы выбрать весь список контактов, а не выбрать один контакт. Я не знаю, можем ли мы это сделать или нет? Если так, то как ???, если нет, что является другим способом? Ниже приведен код, который я использую для доступа к списку контактов.

- (IBAction)configureMyContact:(id)sender { 
ABPeoplePickerNavigationController *peoplePicker = [[ABPeoplePickerNavigationController alloc] init]; 
peoplePicker.peoplePickerDelegate = self; 
peoplePicker.navigationBar.topItem.title = NSLocalizedString(@"CHOOSE_CONTACT_TITLE", @"Defining my contact title."); 
[self presentModalViewController:peoplePicker animated:YES]; 
[peoplePicker release]; 
} 


- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker { 
[self dismissModalViewControllerAnimated:YES]; 
} 


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

myContactID = ABRecordGetRecordID(person); 
[self refreshMyContactButton]; 
[self saveMyContactID:myContactID]; 

[self dismissModalViewControllerAnimated:YES]; 

return NO; 
} 

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker 
    shouldContinueAfterSelectingPerson:(ABRecordRef)person 
          property:(ABPropertyID)property 
          identifier:(ABMultiValueIdentifier)identifier{ 
return NO; 
} 

ответ

0

Вы можете получить запись с помощью этого

- (void)getPersonOutOfAddressBook 
{  
    ABAddressBookRef addressBook = ABAddressBookCreate(); 

    if (addressBook != nil) 
    { 
     NSLog(@"Succesful."); 

     NSArray *allContacts = (__bridge_transfer NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook); 

     NSUInteger i = 0; 
     for (i = 0; i < [allContacts count]; i++) 
     {    
      ABRecordRef contactPerson = (__bridge ABRecordRef)allContacts[i]; 



      NSString *firstName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonFirstNameProperty); 

      NSString *lastName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonLastNameProperty); 

      ABMultiValueRef mobile=ABRecordCopyValue(contactPerson, kABPersonPhoneProperty); 

      for (int k=0;k<ABMultiValueGetCount(mobile); k++) 
      { 
       NSString *mobileNo = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(mobile, k); 
      } 


      //email 
      ABMultiValueRef emails = ABRecordCopyValue(contactPerson, kABPersonEmailProperty); 

      NSUInteger j = 0; 
      for (j = 0; j < ABMultiValueGetCount(emails); j++) 
      { 
       NSString *email = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(emails, j); 
      } 

     } 
    } 
    CFRelease(addressBook); 
} 
+0

с помощью этого я могу извлечь все контакты в адресной книге в то время ??, где мне нужно сделать, чтобы использовать эту функцию? – Abhilash

+0

, где вы хотите использовать все контакты? – Rajneesh071

+0

Я хочу сказать, когда он перемещается в адресную книгу вместо того, чтобы выбрать один контакт, который я хочу для всех контактов в адресной книге, можно выбрать всю адресную книгу. – Abhilash