iOS: 2 botones ambos llaman al mismo controller de vista. ¿Cómo puedo encontrar cuál fue el clic?

El título dice la mayor parte de lo que estoy buscando:

Tengo 2 botones en mi menu principal que ambos llaman al mismo controller de vista. Dependiendo de qué button se hizo clic, el controller de vista se comporta de forma un tanto diferente. Pensé que tenía la solución usando NSNotificationCenter, pero no capturará nada la primera vez en el controller de vista (porque aún no se ha cargado). ¿Hay alguna otra forma de hacer esto?

EDIT: Parece que hay cierta confusión, tal vez en mi final. El problema es pasar la información a través de varios controlleres de vista. Los botones en el controller de vista del Menú principal LLAMEN al segundo controller de vista, el problema es que el segundo controller de vista no tiene conocimiento de ninguna variable creada en el controller de vista del Menú principal.

Puede agregar una variable a la class del segundo controller de vista y establecer esa variable en un valor dependiendo de qué button fue presionado al inicializar el segundo controller de vista:

- (IBAction) buttonPressed:(id)button { //Initialize your view controller MyViewController* secondViewController = [[MyViewController alloc] init...]; //Assign a value to a variable you create (I called it pushedButtonValue) so the //viewController knows which button was pressed secondViewController.pushedButtonValue = [button tag]; //Transition to the new view controller [self.navigationController pushViewController:secondViewController animated:YES]; } 

El manejador de events para presionar botones usualmente tendrá un parámetro emisor (id). Use esto para determinar qué button se presionó en base.

 - (IBAction)pushButton:(id)sender { UIButton *button = (UIButton *)sender; } 

configure IBOutlets para cada button y luego pruebe qué remitente es qué button. Pero la mejor manera de hacerlo es tener IBActions para que cada button se active, entonces pueden llamar a un método con un BOOL o enum que le dice al método cómo comportarse, o hacer cualquier tipo de process diferente y llamar a un método que lo haga el codigo comun

Alternativamente, puede establecer una label para cada button, preferiblemente usando un typedef o enum (para mayor claridad). En el método de acción, compare el valor de la label. Es posible que primero debas clasificar el object del remitente en un UIB.

Consulte: Cómo configurar una label de UIButton con NSString?