Работа над чужим кодом. Я действительно смущен тем, что именно происходит в этом коде.
ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef persons = ABAddressBookGetPersonWithRecordID(addressBook, x);
CFErrorRef *error=NULL;
ABAddressBookRemoveRecord(addressBook, persons, error);
ABAddressBookSave(addressBook, error);
ABRecordRef persons = ABPersonCreate();
ABRecordSetValue(persons, kABPersonFirstNameProperty, firstName , nil);
Что нужно сделать, так это создать человека ABRecordRef. Его свойства должны быть установлены, и его запись/детали должны отображаться. Он никогда не должен быть сохранен в адресной книге. Это способ сделать это. Нужна помощь.
Редактировать: Помимо установки свойств для человека, добавляется следующий код, чтобы подтолкнуть контроллер представления к просмотру человека.
MyContactDetailViewcontroller *personContactDetail = [[MyContactDetailViewcontroller alloc] init];
personContactDetail.displayedPerson = persons;
personContactDetail.passedSelectedContactData = selectedContactsOnlyData;
[self.navigationController pushViewController:personContactDetail animated:YES];
[personContactDetail release];
MyContactDetailViewcontroller
подкласс ABPersonViewController
. Или лучше использовать ABUnknownPersonViewController
.
Находите ли вы случаи, когда контакты могли дублироваться в адресной книге?