Работа над чужим кодом. Я действительно смущен тем, что происходит в этом коде.Настройка свойств человека
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
.
ли вы какие-либо случаи, когда контакты могут быть продублированы в адресной книге
Когда вызывается ABAddressBookSave(), человек фактически сохраняется в адресной книге, и любые изменения его свойств также отражаются в адресной книге. Это так? –
ABAddressBookSave() не вызывается после того, как человек был создан так НЕТ. Если вы снова вызываете ABAddressBookSave(), а не YES (только изменения, которые вы сделали до этой точки). –
'ABAddressBookSave (адресная книга, ошибка);'. Что делает этот кусок кода. Сохраняет ли он человека без каких-либо свойств? –