現在、私は自分の 1 つに Kal カレンダーを実装してtabBarViewControllers
おり、レイアウトは完璧です。ユーザーがクリックすると、カレンダーが月間カレンダー ビューで現在の日を即座に強調表示するボタン「今日」を作成したいと考えています。
レイアウトはここでも完璧ですが、以下に示すコードの最後の行で問題が発生します。
*** キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: '-[SecondViewController showAndSelectToday]: 認識されないセレクターがインスタンス 0x927e6f0 に送信されました'
secondViewController
のスーパークラスであるクラスに対して行ったすべての実装を次に示しUIViewController
ます。
- (void)viewDidLoad { KalViewController *calendar = [[KalViewController alloc] init]; [self.view addSubview:calendar.view]; [self addChildViewController:calendar]; [[self navigationController] initWithRootViewController:calendar]; calendar.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Today" style:UIBarButtonItemStyleBordered target:self action:@selector(showAndSelectToday)]; }
目標: 「今日」の機能を APP DELEGATE ではなく、 my のような別のクラスで提供しsecondViewController
ます。
注: 休日のサンプル アプリはまさに「Today」の動作を希望するものですが、休日のサンプル プロジェクトはアプリ デリゲート内で今日のボタンの動作を実装しています。