Casting remetente para IBAction como id ou classe específica
Vejo duas abordagens para lidar com objetos remetentes nas instruções IBAction. A primeira é assim:
-(IBAction)buttonPressed:(id)sender{
UIButton*someButton=(UIButton*)sender;
//do something with someButton.tag or whatever
}
Outro parece mais fácil:
-(IBAction)buttonPressed:(UIButton*)sender{
//do something with sender.tag or whatever
}
Geralmente, opto pela versão 2. Algum motivo específico para preferir um estilo ao outro, se você souber que apenas um botão estará enviando para esse métod
Eu posso ver onde a versão 1 é boa sequalquer cois pode ser um remetente, como um botão, alternar ou deslizar, etc. Mas se você estiver procurando porUIButton
propriedades comotag
não fará muita diferença se o remetente não for umUIButton
. Portanto, a versão 2 parece muito mais direta.
Pensei em ver se estou perdendo um motivo óbvio para preferir a versão 1.