Tried this but only works for UIButton:
[btn setTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem doesnt have the same addTarget method so you have to set them directly as follows
btn.target = self;
btn.action = @selector(barButtonCustomPressed:);
...
// can specify UIBarButtonItem instead of id for this case
-(IBAction)barButtonCustomPressed:(UIBarButtonItem*)btn
{
NSLog(@"button tapped %@", btn.title);
}