ios - `barButtonback`的局部声明隐藏了ios中的实例变量

标签 ios objective-c

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

我的代码是:

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

错误:“barButtonback”的局部声明隐藏了实例变量

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

最佳答案

这意味着你已经在全局范围内使用或分配了这个变量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

   }

关于ios - `barButtonback`的局部声明隐藏了ios中的实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28577527/

相关文章:

ios - 如何使用 for 循环在 NSMutableArray 中添加对象?

iphone - 使 NSString 全局到整个项目 iPhone

ios - 单个 HTTP 请求中的双请求 header

ios - 如何获取仅具有位置数据的 PHAsset

ios - 将类别从主应用添加到 Apple Watch 扩展

ios - 如何检查 ScrollView 是否在底部滚动或不在 ios 中

iphone - 使用 dispatch_async 加速搜索?

iphone - 从警报框中检索输入的文本。

objective-c - 在 cocos2d 中使用 CCMenu

ios - 在一个 UICollectionView 中实现两个 CollectionView 布局