`barButtonback`的本地声明隐藏了ios中的实例变量

时间:2015-02-18 06:41:32

标签: ios objective-c

我是ios开发的新手,我想在导航控制器中添加后退按钮,所以我从stackoverflow找到了这段代码

我的代码是:

-(void)viewDidLoad
 {
 UIBarButtonItem *barButtonback=[[UIBarbuttonItem alloc] init];
 barButtonback.title=@"back";
self.navigationController.navigationBar.topItem.backBarButtonItem=barButtonback;
 }

错误:'barButtonback'的本地声明隐藏了实例变量

在导航控制器中添加后退按钮是否有任何不同的解决方案或请为此错误提供解决方案

1 个答案:

答案 0 :(得分:1)

这意味着你已经在全局使用或分配了这个变量barButtonback或者在其他地方使用了一些,所以你可以用两种方式

-(void)viewDidLoad
 {
 barButtonback=[[UIBarbuttonItem alloc] init];
 barButtonback.title=@"back";
   self.navigationController.navigationBar.topItem.backBarButtonItem=barButtonback;
}

-(void)viewDidLoad
 {
 UIBarButtonItem *barButtonback1=[[UIBarbuttonItem alloc] init];
 barButtonback1.title=@"back";
 self.navigationController.navigationBar.topItem.backBarButtonItem=barButtonback1;
   }

试试这个

barButtonback = [[UIBarButtonItem alloc] 
                           initWithTitle:@"back"                                            
                           style:UIBarButtonItemStyleBordered 
                           target:self 
                           action:@selector(butBackAction:)];
self.navigationController.navigationBar.topItem.backBarButtonItem=barButtonback;

  -(void) butBackAction:(UIBarButtonItem *)sender{

//perform your action

   }