splitViewコントローラーを実装するビューがあります。
ナビゲーションコントローラーに2つのボタンを追加する必要がありました。最初のものをUIBuilderで追加しましたが、2番目のものを追加できないため、コードで追加しました。
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view addSubview: _splitViewController.view];
_splitViewController.delegate = _rightViewController;
_leftViewController.delegate = _rightViewController;
_rightViewController.leftView = _leftViewController;
bbi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)];
_navItem.leftBarButtonItem = bbi;
}
bbiがヘッダーで次のように宣言された場所
@property (nonatomic, retain) UIBarButtonItem * bbi;
上記の一致する定義と合成を使用します。
doneメソッドを-(void)done:(UIBarButtonItem *)sender;として宣言しました。
しかし、完了ボタンをクリックするとエラーが発生します
-[ConfigurationViewController done]: unrecognized selector sent to instance
私はいくつかのことを試しました。bbiはhファイルではなくローカルで宣言され、doneはhファイルで宣言されておらず、doneメソッドは代わりにidを期待していますが、運がありません。
私は明らかに愚かなことをしている。何か考えは?