2011-01-11 10 views
1

II ABPerson/ABMultiValue(電話番号)の値を変更しようとしています。更新方法:(COCOA/OSX)ABPerson/ABMultiValue(phonenumbers)?

とにかくこれらを更新するには?

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 
} 

ありがとうございます!

答えて

2

は呼び出してみてください。

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

は、これらのいずれかを追加します。追加したいすべての値についてABMultiValueAddValueAndLabel(phoneNumbers, value, label, null)を。

+0

'ABMultiValueCreateMutable(kABPersonPhoneProperty)'の代わりに 'ABMultiValueCreateMutable(kABMultiStringPropertyType)'を使用します。そうでなければ、コンソールに出力された "3型コールバックを返せません"というメッセージが表示されます。 [ソース](http://iphonedevsdk.com/forum/iphone-sdk-development/23289-abnewpersonviewcontroller-crashes-when-scrolling.html) – Manav

関連する問題