title: can anyone explain how backBarButtonItem Action is overrided?
body: <p>I have asked this question sometime back. But havent got a solution yet,
  Here is my scenario.</p>
  
  <pre><code>//RootViewController.m
  [self.navigationController pushViewController:view1 Animated:YES];
  </code></pre>
  
  <p>Here is View1.m</p>
  
  <pre><code>UIBarButtonItem *back_of_view2 = [[UIBarButtonItem alloc]initWithTitle:@"Back to RootViewfromview2"
  target:self
  action:@selector(backClicked:)];
  [self.navigationController pushViewController:view2 animated:YES];
  </code></pre>
  
  <p>And here is the backClicked method: (still in view1.m)</p>
  
  <pre><code>-(void)backClicked:(UIBarButtonItem *)back_of_view2
  {
  [self.navigationController popToRootViewController Animated:YES]
  }
  </code></pre>
  
  <p>I am able to get the back button in view2 as "back to RootViewfromview2" but the action backClicked is not getting called and when I click on back, I am getting the view1 , which is the default action.
  But, when I set the leftBarButtonItem in view2.m i.e</p>
  
  <pre><code>UIBarButtonItem *backtoOne = [[UIBarButtonItem alloc]initWithTitle:@"JumptorootView" style:UIBarButtonItemStyleBordered target:self action:@selector(someMethod:)];
  
  -(void)someMethod:(UIBarButtonItem *)backtoOne  
  {
  [self.navigationController popToRootViewController animated:YES];
  }
  </code></pre>
  
  <p>Now.., if i use leftBarButtonItem..,Everthing works fine, but I wont get the back Arrow..</p>