Tried this but only works for UIButton:
[btn setTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
Set target and action of your UIBarButtonItem
target
action
UIBarButtonItem
Swift 5 & 4
button.target = self button.action = #selector(action) @objc func action (sender:UIButton) { print("action") }