Я совершенно новичок в цели C, я использую XCode 4.2, и в части приложения мне нужно будет сохранить данные в адресной книге. но мне нужно, чтобы он отображался в адресной книге, а не просто сохранялся при нажатии кнопки
Я пытаюсь использовать следующий код:
Я добавил addressBook
фреймворк и addressBookUI
фреймворк
в моем .h файле я написал
#import <UIKit/UIKit.h>
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>
@interface HelloWorld20ViewController : UIViewController<ABNewPersonViewControllerDelegate,ABPersonViewControllerDelegate>{
}
-(IBAction)go;
@end
в моем .m файле я написал
-(IBAction)go{
ABRecordRef newPerson= ABPersonCreate();
CFErrorRef error = NULL;
ABRecordSetValue(newPerson, kABPersonFirstNameProperty, CFSTR("john"), &error);
ABRecordSetValue(newPerson, kABPersonLastNameProperty, CFSTR("Smith"), &error);
NSAssert(!error, @"something bad happend here.");
ABNewPersonViewController* newPersonViewController = [[ABNewPersonViewController alloc] initWithNibName:nil bundle:nil];
[newPersonViewController setDisplayedPerson:newPerson];
[newPersonViewController setNewPersonViewDelegate:self];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:newPersonViewController];
[self presentModalViewController:navController animated:YES];
CFRelease(newPerson);
}
-(void)newPersonViewController:(ABNewPersonViewController *)newPersonView didCompleteWithNewPerson:(ABRecordRef)person{
[self.navigationController popViewControllerAnimated:YES];
}
когда я нажимаю на кнопку «Перейти», я получаю черный экран: вот что я получаю
есть ли причина, по которой он это делает?
Большое спасибо!
Отредактировано
текущий код:
-(IBAction)go{
ABRecordRef newPerson= ABPersonCreate();
CFErrorRef error = NULL;
ABRecordSetValue(newPerson, kABPersonFirstNameProperty, CFSTR("john"), &error);
ABRecordSetValue(newPerson, kABPersonLastNameProperty, CFSTR("Smith"), &error);
NSAssert(!error, @"something bad happend here.");
ABNewPersonViewController* newPersonViewController = [[ABNewPersonViewController alloc] initWithNibName:nil bundle:nil];
[newPersonViewController setDisplayedPerson:newPerson];
[newPersonViewController setNewPersonViewDelegate:self];
[self presentModalViewController:newPersonViewController animated:YES];
CFRelease(newPerson);
}
и все та же проблема