Один способ - начать с цели и действия:
UIBarButtonItem *buttonHello = [[UIBarButtonItem alloc] initWithTitle:@"Say Hello"
style:UIBarButtonItemStyleBordered target:self action:@selector(sayHello:)];
Другой способ - установить цель и действие после его создания.
[buttonHello setTarget:self];
[buttonHello setAction:@selector(sayHello:)];
Цель - это экземпляр объекта, который будет вызван. В случае self метод будет на этом экземпляре объекта.
Действие - это метод, который будет вызван. Как правило, вы украшаете его с помощью IBAction, чтобы намекнуть дизайнеру, что это действие. Компилируется в void.
- (IBAction)sayHello:(id)sender
{
// code here
}