To change the text and the action of a UIBarButtonItem is no straightforward thing.
1. In Interface Builder, make sure the UIBarButtonItem is of Identifier: Custom
2. Do the usual hooking up of the button via an IBOutlet.
3. Use this code (where 'myBarButtonItem' is the existing button that has already been hooked up via an IBOutlet, and 'doSomeNewAction' is the new action I wish for the button to perform):
UIBarButtonItem *myNEWBarButtonItem = self.myBarButtonItem;
[myNEWBarButtonItem setTitle:@"Do Some New Action"];