cocoamacosaddressbookabaddressbookabmultivalue

How to update: (COCOA/OSX) ABPerson / ABMultiValue (phonenumbers)?


II trying to change the value of ABPerson / ABMultiValue (the phone numbers).

Anyway to update these?

ABAddressBook *ab = [ABAddressBook sharedAddressBook];  
NSArray *persons = [ab people];

int j=[persons count];

for (int i=0; i<j; i++) {
    ABPerson *person = [persons objectAtIndex:i];               
    ABMultiValue *phonenumbers = [person valueForProperty:kABPhoneProperty];
    //  update here *phonenumbers
}

Thanks!


Solution

  • Try calling:

    ABMultiValueRef phoneNumbers = ABMultiValueCreateMutable(kABPersonPhoneProperty);
    ABMultiValueAddValueAndLabel(phoneNumbers, value, label, null);
    ABRecordSetValue(person, kABPersonPhoneProperty, phoneNumbers, NULL);
    

    Add one of these: ABMultiValueAddValueAndLabel(phoneNumbers, value, label, null) for every value you want to add.