0

デリゲート メソッド clickedButtonAtIndex: を使用して既に試していますが、ユーザーが「OK」を押すとすぐに、ナビゲーション コントローラーを介してビューをプッシュする必要があります...

メソッド内でビューを割り当てることができません。Xcode はコード内のビュー コントローラーの名前を認識しません。私が間違っているコインは何ですか?

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { 
    switch(buttonIndex) {
        case 0:


             ReminderCompleted *view = [[ReminderCompleted alloc]initWithNibName:@"ReminderCompleted" bundle:nil];

             [view.navigationController pushViewController:view animated:NO];



            break;
        case 1:
            //cancel
            break;
        default:
            break;
    }

いくつかのエラーが発生します

4

1 に答える 1

-1

ビューをプッシュすることはできません。プッシュできるのはビュー コントローラーのみです。同様の方法でコードを構成できるはずですが、代わりにビュー コントローラー (nib も使用できます) をインスタンス化し、それをナビゲーション コントローラーの push メソッドに渡します。

編集:あなたの変数名は私を混乱させました.実際にView Controllerを使用しています. 私の容疑者は、Objective-C が好まないスイッチ内で新しい変数を宣言しています。同じコードを試しますが、スイッチの前に変数を宣言します (適切なケースが発生するまで初期化しないでおくことができます)。

ReminderCompleted *reminderVC;
switch(buttonIndex) {
  case 0:
    reminderVC = [[ReminderCompleted alloc]initWithNibName:@"ReminderCompleted" bundle:nil];
    [view.navigationController pushViewController:view animated:NO];
    break;
于 2012-06-21T16:00:41.630 に答える