Travail sur le code de quelqu'un d'autre. Je suis vraiment confus au sujet de ce qui se passe exactement dans ce code.Définition des propriétés de personne
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);
Ce qui devrait être fait est qu'une personne ABRecordRef devrait être créée. Ses propriétés doivent être définies et son enregistrement/détails doivent être affichés. Il ne devrait jamais être enregistré dans le carnet d'adresses. Est-ce le moyen de le faire. Besoin d'aide pour. Editer: En dehors de la définition des propriétés à la personne, le code suivant est ajouté pour pousser le contrôleur de vue à voir la personne.
MyContactDetailViewcontroller *personContactDetail = [[MyContactDetailViewcontroller alloc] init];
personContactDetail.displayedPerson = persons;
personContactDetail.passedSelectedContactData = selectedContactsOnlyData;
[self.navigationController pushViewController:personContactDetail animated:YES];
[personContactDetail release];
MyContactDetailViewcontroller
sous-classe ABPersonViewController
. Ou est-il plus susceptible d'utiliser ABUnknownPersonViewController
.
Trouvez-vous des cas où les contacts pourraient être dupliqués dans le carnet d'adresses
Lorsque ABAddressBookSave() est appelée, la personne est en fait enregistrée dans le carnet d'adresses et toute modification de ses propriétés sera également reflétée dans le carnet d'adresses. Est-ce vrai? –
ABAddressBookSave() n'est pas appelé après la création de la personne, donc NON. Si vous appelez ABAddressBookSave() à nouveau à YES (seulement les modifications que vous avez apportées jusqu'à ce point). –
'ABAddressBookSave (adresse, erreur);'. Que fait ce morceau de code. Permet-il de sauver une personne sans aucune propriété? –