如何在iphone中编辑地址簿中的联系人?

时间:2012-04-25 13:35:06

标签: iphone abaddressbook

我创建了一个新的application.i添加地址簿中的联系人,请参阅下面的代码,但如何编辑这个添加联系人从地址簿,我不知道。

任何人都可以知道然后给出示例代码或想法。

thanx提前给我宝贵的时间。

//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 个答案:

答案 0 :(得分:7)

Apple的示例项目QuickContacts涵盖了这个:http://developer.apple.com/library/ios/#samplecode/QuickContacts/Introduction/Intro.html

我希望它对你有所帮助。