0

我已经在通过委托方法 clickedButtonAtIndex 尝试它:但是一旦用户按下“确定”,我就需要通过导航控制器推送视图......

我无法在方法内分配视图,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 方法。

编辑:你的变量名让我很困惑,你确实在使用视图控制器。我的怀疑现在是在一个开关内声明一个新变量,这是 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 回答