Cómo obtener el nombre del remitente de un NSButton
-
09-10-2019 - |
Pregunta
Tengo varias NSButtons que están conectados a una única IBAction. Necesito para diferenciar dentro del método entre los diferentes botones. He intentado lo siguiente, pero no funciona:
for (int i = 0; i++; i < 7) {
if (sender == [NSString stringWithFormat:@"button%i", i+1])
{
NSLog(@"sender is button %i", i+1);
}
}
¿Cómo se puede hacer para trabajar?
Solución
-(IBAction)buttonPressed:(id)sender
{
switch ( [sender tag] )
{
case 1:
//blah blah blah
break;
case 2:
//blah blah etc.
break;
}
}
Soy reacio a hacer el trabajo por usted, pero ....
reemplazar esta línea
if (sender == [NSString stringWithFormat:@"button%i", i+1])
con esta línea
if ([sender tag] == i)
Nota también que el formato de su bucle no es válido:
for (int i = 0; i++; i < 7)
s / b:
for (int i = 0; i < 7; i++)
Otros consejos
remitente en la acción btnClicked es el objeto de botón que se hizo clic. Desde que usted debería ser capaz de obtener la información que necesita ??p>
-(IBAction) btnClicked: (id) sender {
NSLog(@"Button clicked %@", sender);
// Do something here with the variable 'sender'
}
Si almacena un valor en el sender.tag
, se puede determinar el botón de esa manera también
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow