我想從地址簿聯繫人中刪除特定的電話號碼。ios dev ABMultiValueRemoveValueAndLabelAtIndex返回true,但不起作用
它「似乎」工作,因爲它返回true,但它不。
請問誰能幫我一下嗎?這會很棒!
ABAddressBookRef ab = ABAddressBookCreate();
ABRecordRef record = ABAddressBookGetPersonWithRecordID(ab,[myID intValue]);
NSError *error = NULL;
ABMultiValueRef phoneNumbers = ABRecordCopyValue(record,kABPersonPhoneProperty);
for(CFIndex i=0; i < ABMultiValueGetCount(phoneNumbers); i++){
NSString *phoneNumber = (NSString *)ABMultiValueCopyValueAtIndex(phoneNumbers,i);
//ckDebug(@"phoneNumber = %@", phoneNumber);
if ([[oDict objectForKey:@"value"] isEqualToString:phoneNumber]) {
BOOL didRemove = ABMultiValueRemoveValueAndLabelAtIndex(ABMultiValueCreateMutableCopy(phoneNumbers),i);
ckDebug(@"didRemove = %@\n", (didRemove ? @"TRUE" : @"FALSE"));
//and save it!
BOOL didSave = ABAddressBookSave(ab, (CFErrorRef *) error);
ckDebug(@"didSave = %@\n", (didSave ? @"TRUE" : @"FALSE"));
if (error) {
ckDebug(@"ABAddressBookSaveError = %@", error);
}
}
[phoneNumber release];
}
CFRelease(ab);
沒有人有答案? :( –