私は目的のCにかなり慣れています。私はXCode 4.2を使用しており、アプリケーションの一部ではアドレス帳にデータを保存する必要があります。私はaddressBook
フレームワークと私の中addressBookUI
枠組み を追加はABNewPersonViewControllerを使用してアドレス帳に表示することができません
:私は、私は、次のコードを使用しようとしています
をクリックして、それがアドレス帳に表示する必要があり、ちょうどボタンに保存していません。 Hファイル私は、私は行くバットをクリックしたときに私が
-(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];
}
を書いた私の.mファイルに
#import <UIKit/UIKit.h>
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>
@interface HelloWorld20ViewController : UIViewController<ABNewPersonViewControllerDelegate,ABPersonViewControllerDelegate>{
}
-(IBAction)go;
@end
を書きましたここで私は
それがこれをやっている理由はそこにあるが何を取得していますされています。私の上に黒い画面を取得しますか?
ありがとう!
編集
現在のコード:
-(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);
}
とまだ同じ問題
なぜ新しいナビゲーションコントローラを作成していますか?ちょうどあなたのアドレス帳のコントローラを渡すと、正常に動作します。 –
IBAction関数からナビゲーションコントローラを削除しましたが、まだ黒い画面が表示されていますが、今回はナビゲーションバーが表示されません...まだ動作していません – user1051935