如何更新:(COCOA/OSX)ABPerson/ABMultiValue(电话号码)?
II尝试更改ABPerson/ABMultiValue(电话号码)的值 要更新这些吗如何更新:(COCOA/OSX)ABPerson/ABMultiValue(电话号码)?,cocoa,macos,addressbook,abaddressbook,abmultivalue,Cocoa,Macos,Addressbook,Abaddressbook,Abmultivalue,II尝试更改ABPerson/ABMultiValue(电话号码)的值 要更新这些吗 ABAddressBook *ab = [ABAddressBook sharedAddressBook]; NSArray *persons = [ab people]; int j=[persons count]; for (int i=0; i<j; i++) { ABPerson *person = [persons objectAtIndex:i];
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
}
ABAddressBook*ab=[ABAddressBook sharedAddressBook];
NSArray*人员=[ab人员];
int j=[人数];
对于(int i=0;i尝试调用:
ABMultiValueRef phoneNumbers = ABMultiValueCreateMutable(kABPersonPhoneProperty);
ABMultiValueAddValueAndLabel(phoneNumbers, value, label, null);
ABRecordSetValue(person, kABPersonPhoneProperty, phoneNumbers, NULL);
为每个要添加的值添加一个:ABMultiValueAddValueAndLabel(phoneNumbers,value,label,null)
。使用ABMultiValueCreateMutable(kABPersonPhoneProperty)
,而不是ABMultiValueCreateMutable(kABMultiStringPropertyType)
,否则您将得到“无法返回3的类型回调”打印在控制台上(可能以后会发生不好的事情)。