В моем случае мне иногда нужно динамически добавлять кнопки к видам и знать, какая из них была нажата, или вызывать другие кнопки.
Чтобы я мог сделать:
UIButton *desiredButton = [myView.viewWithTag:theTag]
Я использую, чтобы объявить тип кнопки (или любой тип представления) в enum, чтобы я мог безопасно назначить и вызвать позже:
typedef enum {
ButtonTypeDelete = 1,
ButtonTypeCancel = 2,
ButtonTypeAccept = 3,
....
..
} ButtonType