2016-02-25 51 views
1

如何從ABAddressBook編輯我的聯繫人的姓和名。如何從ABAddressBook編輯姓名和最後一位聯繫人

我用這段代碼找到一些名字的聯繫人。

+(CFArrayRef)searchContactOnDevice_fromFullName:(NSString *)FullName{ 
    NSString *searchName = [NSString stringWithFormat:@"%@", FullName]; 
    ABAddressBookRef addressbook = ABAddressBookCreate(); 
    CFStringRef nameRef = (__bridge CFStringRef) searchName; 
    CFArrayRef allSearchRecords = ABAddressBookCopyPeopleWithName(addressbook, nameRef); 
    return allSearchRecords; 
} 

如果我想刪除一些接觸,我可以使用此代碼:

+(void)removeContactWithRecordsList:(CFArrayRef) selectedRecords_ 
{ 
    ABAddressBookRef addressbook = ABAddressBookCreate(); 
    if (selectedRecords_ != NULL) 
    { 
     int count = CFArrayGetCount(selectedRecords_); 
     for (int i = 0; i < count; ++i) 
     { 
      ABRecordRef contact = CFArrayGetValueAtIndex(selectedRecords_, i); 
      ABAddressBookRemoveRecord(addressbook, contact, nil); 
     } 
    } 
    ABAddressBookSave(addressbook, nil); 
    CFRelease(addressbook); 
} 

但是,我需要編輯firstName和lastName聯繫人。

如何才能做到。

回答

0

此代碼在Xcode中沒有經過測試....它應該工作的A/C給我,因爲我有這個很久以前做了一個總體思路......請嘗試......

//Code to edit contact programmatically...  
ABAddressBookRef addressbook = ABAddressBookCreate(); 
    if (selectedRecordsCount_ != NULL) 
    {   
     ABRecordRef contact = CFArrayGetValueAtIndex(selectedRecordsCount_, index); 
     contact.firstName = @"My new first name"; 
     contact.lastName= @"My New last name": 
     ABAddressBookSave(addressbook, nil); 
    } 

    CFRelease(addressbook); 

這裏整個想法是獲取一個ABRecordRef對象(人物對象)並修改相同的...然後保存地址簿....這將保存您聯繫人的編輯信息。

請讓我知道你是否有什麼更多的幫助與這個問題

相關問題