action:@selector(buttonAction:)
Здесь вы указываете, что селектор buttonAction получает 1 параметр, но объявляется, что он не имеет ни одного:
- (void)buttonAction{
...
Таким образом, при нажатии кнопки система пытается вызвать неопределенный метод, что приводит к сбою.Чтобы это исправить, вы должны либо изменить имя селектора на
action:@selector(buttonAction)
, либо изменить объявление метода действия:
- (void)buttonAction:(id)sender{
...