ABPeoplePickerNavigationController показва всички данни за контакт в една клетка

Здравейте, разработвам приложение, където, когато щракна върху контакти, отива в ABpeoplePicekrNavigationcontroller и показва всички контакти под формата на списък в таблицата. Но искам да избера всички контакти, така че да искам да извърша някакво действие. И така, как мога да постигна това .

Не съм сигурен, че това е правилният въпрос, който трябва да задам. Всъщност се опитвам да изпратя информацията за контакт на следващия екран, вместо да избирам една информация за контакт всеки път, когато искам да избера целия списък с контакти. Как мога да направя това??

Мислех, че ще им покажа да се показват в една клетка, въпреки че пространството не се побира в една клетка. Просто им покажете една клетка, така че избирането на една клетка, която съдържа цялата информация за контакт, да бъде по-добре за изпращане..

И така, може ли някой да ми предложи правилния начин да избера целия списък с контакти, вместо да избера един контакт.. Не знам дали можем да направим това или не??Ако да, как???ако не, какъв е другият начин?? Ето кода по-долу, където използвам за достъп до списъка с контакти.

- (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;
}

person Abhilash    schedule 29.05.2013    source източник


Отговори (1)


Можете да получите своя запис с помощта на това

- (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);
}
person Rajneesh071    schedule 29.05.2013
comment
Използвайки това, мога да извлека всички контакти в адресната книга наведнъж?? Къде трябва да използвам тази функция? - person Abhilash; 30.05.2013
comment
къде искате да използвате всички контакти? - person Rajneesh071; 30.05.2013
comment
Искам да кажа, че когато се премести в адресната книга, вместо да изберете един контакт, искам цели контакти в адресната книга, възможно ли е да изберете цялата адресна книга. - person Abhilash; 30.05.2013
comment
да, използвайки този код, ще получите цялата адресна книга, извикайте този код в код във viewDidLoad и добавете данни в масив - person Rajneesh071; 30.05.2013
comment
добре дошли.. :) изпратихте ми съобщение през facebook, но не мога да отговоря, защото съм блокиран за 30 дни.. :( изпратете молба за приятел, ще приема :) - person Rajneesh071; 31.05.2013