Sia Vladimir e Henrik delle risposte sarebbero corrette. Non lasciare che il tipo 'id' ti spaventi. È ancora il tuo oggetto pulsante è solo che il compilatore non sa di che tipo si tratta. In quanto tale, non è possibile fare riferimento a proprietà su di esso a meno che non venga eseguito il cast di un tipo specifico (risposta di Henrik).
-(IBAction)ATapped:(id)sender{
// Possible Cast
UIButton* myButton = (UIButton*)sender;
myButton.hidden = YES;
}
Oppure è possibile inviare qualsiasi messaggio (chiamare qualsiasi metodo) sull'oggetto, supponendo che si conosce il tipo (che si fa, si tratta di un pulsante), senza dover lanciare (risposta di Vladimir).
-(IBAction)ATapped:(id)sender{
//want some way to hide the button which is tapped
[sender setHidden:YES];
}
Ho provato sender.hidden = YES; prima ho postato questo. ha dato un errore. – jarryd
quale errore esattamente? – Vladimir
Ok, .hidden restituisce un errore "non una struttura o unione", ma [setHidden: YES] funziona;) – jarryd