Hallo,
ik wil voor een iphone-app gebruik maken van de standaard ABUnknownPersonViewController, om zo persoonsgegevens te tonen en evt. toe te kunnen voegen aan het adresboek in iOS. Ik gebruik de volgende code om bepaalde propertjes van de persoon te setten
Nu gaat het goed zolang ik alleen first en last name set. Als ik ook de phone of email property wil setten krijg ik een 'exc_bad_access' error bij het pushen van de viewcontroller.
Nu heb ik ergens gevonden dat voor emailadressen en telefoonnummers zogeheten multiValueRef's gebruikt moeten worden. Dit is het tweede block code(uitgecomment hierboven). Als ik hierin de variabele 'email' vervang door @"test@test.nl" krijg ik geen fout en de correcte uitvoer. Als ik dit niet doe en het emailadres uit de dictionary haal, krijg ik wederom dezelfde error.
Heeft iemand ervaring met het adresboek in IOS? Ik kom er niet uit, en zou graag weten waarom het emailadres wel correct is als ik het als @"..." invoer, en niet als ik het uit een variabele haal.
Ik ben benieuwd.
ik wil voor een iphone-app gebruik maken van de standaard ABUnknownPersonViewController, om zo persoonsgegevens te tonen en evt. toe te kunnen voegen aan het adresboek in iOS. Ik gebruik de volgende code om bepaalde propertjes van de persoon te setten
code:
1
2
3
4
5
6
7
8
9
10
11
12
| ABRecordRef selectedPerson = ABPersonCreate(); ABRecordSetValue(selectedPerson, kABPersonFirstNameProperty, (__bridge CFStringRef)[lid objectForKey:@"Voornaam "], NULL); ABRecordSetValue(selectedPerson, kABPersonLastNameProperty, (__bridge CFStringRef)[lid objectForKey:@"Achternaam "], NULL); // ABRecordSetValue(selectedPerson, kABPersonPhoneProperty, (__bridge CFStringRef)[lid objectForKey:@"Mobiel"], NULL); // ABRecordSetValue(selectedPerson, kABPersonEmailProperty, (__bridge CFStringRef)[lid objectForKey:@"Email"], NULL); // CFStringRef email = (__bridge CFStringRef)[lid objectForKey:@"Email"]; // ABMutableMultiValueRef emailMultiValue = ABMultiValueCreateMutable(kABPersonEmailProperty); // ABMultiValueAddValueAndLabel(emailMultiValue, email, kABWorkLabel, nil); // ABRecordSetValue(selectedPerson, kABPersonEmailProperty, emailMultiValue, nil); |
Nu gaat het goed zolang ik alleen first en last name set. Als ik ook de phone of email property wil setten krijg ik een 'exc_bad_access' error bij het pushen van de viewcontroller.
Nu heb ik ergens gevonden dat voor emailadressen en telefoonnummers zogeheten multiValueRef's gebruikt moeten worden. Dit is het tweede block code(uitgecomment hierboven). Als ik hierin de variabele 'email' vervang door @"test@test.nl" krijg ik geen fout en de correcte uitvoer. Als ik dit niet doe en het emailadres uit de dictionary haal, krijg ik wederom dezelfde error.
Heeft iemand ervaring met het adresboek in IOS? Ik kom er niet uit, en zou graag weten waarom het emailadres wel correct is als ik het als @"..." invoer, en niet als ik het uit een variabele haal.
Ik ben benieuwd.