'myViewController' 的局部声明隐藏了实例变量

local declaration of 'myViewController' hides instance veriable

在动作 sheet 中,根据按钮索引将模态化到另一个视图的委托方法,这是方法:

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

    if (buttonIndex == 0) {
        NSLog(@"first button was pressed");
    } else if (buttonIndex == 1) {
        MyViewController *myViewController = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];
        UINavigationController *navigationController = [[UINavigationController alloc]initWithRootViewController:myViewController];
        [self.navigationController presentViewController:navigationController animated:YES completion:nil];
    }
}

我在 nevigationConroller 声明旁边收到错误,有人知道问题出在哪里吗?

我在这个 class..

的 .h class 中声明 MyViewController

谢谢

包含您的 actionSheet:clickedButtonAtIndex: 方法的 class 有一个名为 myViewController 的 ivar。您已经创建了一个名为 myViewController 的局部变量 also。您的 Xcode 项目已被告知将此视为错误,而不仅仅是警告。更改您的局部变量名称。

MyViewController *myVC = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc]initWithRootViewController:myVC];
[self.navigationController presentViewController:navigationController animated:YES completion:nil];