如何为iphone联系人添加备注?

时间:2011-11-28 00:24:37

标签: iphone objective-c ios xcode4.2 addressbook

我正在开发一个将联系人存储在地址簿中的应用程序。我想在我的实现中添加备注字段,我知道要添加一个电话号码,这是要使用的代码:

ABMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiRealPropertyType);
ABMultiValueAddValueAndLabel(multiPhone, (__bridge_retained CFStringRef)Tel, kABWorkLabel, NULL);
ABMultiValueAddValueAndLabel(multiPhone, (__bridge_retained CFStringRef)Fax, kABPersonPhoneWorkFAXLabel, NULL);

ABRecordSetValue(contact, kABPersonPhoneProperty, multiPhone, nil);
CFRelease(multiPhone);

我知道kABPersonPhoneProperty的等价物是kABNoteProperty,但注释字段的等效值是kABWorkLabel吗?

由于

2 个答案:

答案 0 :(得分:1)

kABWorkLabel没有kABNoteProperty的等价物,因为note属性是单个字符串,而不是多值。

CFErrorRef error;
if (!ABRecordSetValue(contact, kABNoteProperty, (__bridge CFStringRef)@"hello world", &error)) {
    // handle error
}

答案 1 :(得分:1)

kABNoteProperty标识的note属性是单值属性,而不是多值属性,因此没有相应的标签。 phone属性是多值的:它可以同时包含多个不同的值,因此您需要使用标签来区分这些值。 note属性类似于名字或姓氏属性 - 这些属性一次只能有一个值。请使用ABRecordSetValue()

bool ABRecordSetValue (
   ABRecordRef record,
   ABPropertyID property,
   CFTypeRef value,
   CFErrorRef *error
);