How to edit a contact from Address book in iphone?

2020-07-27 03:08发布

问题:

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 8 years ago.

I create one new application.i add the contact from address book see the code below but how to edit this add contact from address book i don't know .

can any one have know then give the sample code or idea.

thanx in advance give your valuable time for me.

//code for add contact in contact list 

ABRecordRef aRecord = ABPersonCreate(); 
CFErrorRef  anError = NULL; 
ABRecordSetValue(aRecord, kABPersonFirstNameProperty, 
                 txtfirstname.text, &anError); 
ABRecordSetValue(aRecord, kABPersonLastNameProperty, 
                 txtlastName.text, &anError); 
ABRecordSetValue(aRecord, kABPersonBirthdayProperty, 
                 [datepick date], &anError); 
ABRecordSetValue(aRecord, kABPersonPhoneProperty, 
                 txtMobileNo, &anError); 
ABRecordSetValue(aRecord, kABPersonEmailProperty, 
                 txtEmailID, &anError); 
if (anError != NULL) 
{ 
    NSLog(@"error while creating..");
} 
CFStringRef firstName, lastName,birthDay; 
firstName = ABRecordCopyValue(aRecord, kABPersonFirstNameProperty); 
lastName  = ABRecordCopyValue(aRecord, kABPersonLastNameProperty); 
birthDay  = ABRecordCopyValue(aRecord, kABPersonBirthdayProperty); 

ABMutableMultiValueRef email = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(email, txtEmailID.text, CFSTR("email"), NULL);
ABRecordSetValue(aRecord, kABPersonEmailProperty, email, &anError);
CFRelease(email);

ABMutableMultiValueRef multiPhone =  ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiPhone,txtMobileNo.text, kABPersonPhoneMainLabel, NULL);
ABRecordSetValue(aRecord, kABPersonPhoneProperty, multiPhone,nil);
CFRelease(multiPhone);

UIImage *personImage;   
personImage = tempimage;
NSData *dataRef = UIImagePNGRepresentation(personImage); 
CFDataRef dr = CFDataCreate(NULL, [dataRef bytes], [dataRef length]);
CFErrorRef error = NULL; 

ABPersonSetImageData(aRecord, dr, &error);  


ABAddressBookRef addressBook; 
addressBook = ABAddressBookCreate(); 

BOOL isAdded = ABAddressBookAddRecord (addressBook,aRecord,&error);

if(isAdded)
{
    NSLog(@"added..");
}
if (error != NULL) {
    NSLog(@"ABAddressBookAddRecord %@", error);
} 
error = NULL;

BOOL isSaved = ABAddressBookSave (addressBook,&error);

if(isSaved)
{
    UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Contact Save"
                                                        message:nil delegate:self 
                                              cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
    [alertView show];
    [alertView release];
    NSLog(@"saved..");
}

if (error != NULL) 
{
    NSLog(@"ABAddressBookSave %@", error);
} 

CFRelease(aRecord); 
CFRelease(firstName); 
CFRelease(lastName);
    CFRelease(birthDay); 
CFRelease(addressBook);

回答1:

Apple's sample project QuickContacts covers this: http://developer.apple.com/library/ios/#samplecode/QuickContacts/Introduction/Intro.html.

i hope it's helpful to you.