Будучи довольно новым для target-c и разрабатывая для ios, я пытаюсь выяснить, как реализовать код адресной книги из Address Book Programming Guide for iOS
.
Я хочу иметь возможностьвойти в адресную книгу, по которой щелкнул пользователь.
Мне удалось реализовать адресную книгу в моем приложении.
В ios4 следующие «работы»:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person
property:(ABPropertyID)property
identifier:(ABMultiValueIdentifier)identifier
{
if (property == kABPersonAddressProperty) // if tapped is equal to a phone property
{
NSLog(@"Address tapped!");
NSMutableDictionary * cfaddress;
ABMultiValueRef address = ABRecordCopyValue(person, kABPersonAddressProperty);
for(CFIndex i = 0; i < ABMultiValueGetCount(address); i++) {
if(identifier == ABMultiValueGetIdentifierAtIndex (address, i)) { //if tapped number identifier is the same as identifier number tapped
cfaddress = ABMultiValueCopyValueAtIndex(address, i); // copy the number to CFSTRING number
}
}
NSLog(@"%@", [cfaddress objectForKey:@"City"]);
NSLog(@"%@", [cfaddress objectForKey:@"Street"]);
// City and street present ?
if([cfaddress objectForKey:@"City"] && [cfaddress objectForKey:@"Street"]){
NSLog(@"STAD EN STRAAT");
}
else{
NSLog(@"GEEN STAD EN/OF STRAAT");
}
}
[self dismissModalViewControllerAnimated:YES];
return YES;
}
К сожалению, в ios5 с автоматическим подсчетом ссылок это выдает мне следующую ошибку:
ошибка: автоматический подсчет ссылок Проблема: неявное преобразование типа указателя без Objective-C 'CFTypeRef' (aka 'const void* ') to' NSMutableDictionary * 'запрещен с ARC
Я предполагаю, что мой способ сделать это (для ios4) в любом случае не был хорошим способом, и я был бы очень признателен за некоторые предложения о том, какдля достижения этой цели.Заранее спасибо!