“ViewController”的本地声明隐藏了实例变量

Posted

技术标签:

【中文标题】“ViewController”的本地声明隐藏了实例变量【英文标题】:local declaration of 'myViewController' hides instance veriable [duplicate] 【发布时间】:2015-02-12 16:42:17 【问题描述】:

在基于按钮索引模态到另一个视图的操作表委托方法中,这是该方法:

- (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 声明旁边收到错误,有人知道是什么问题吗?

我在这个类的 .h 类中声明了 MyViewController..

谢谢

【问题讨论】:

搜索错误。这已经被覆盖了很多次。首先查看右侧的相关问题。 【参考方案1】:

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

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

【讨论】:

以上是关于“ViewController”的本地声明隐藏了实例变量的主要内容,如果未能解决你的问题,请参考以下文章

在 ViewController 中隐藏启动画面

“隐藏” ViewController 而不完全关闭它

推送其他viewcontroller时隐藏uisearchdisplaycontroller的navigationbar

MessageKit InputBar 在 ViewController 关闭时被隐藏/删除

仅限iOS 10:在viewbarcontroller中隐藏在tabbar后面的Viewcontroller

关闭 Modal ViewController 将父视图隐藏在状态栏后面