Вы действительно не должны этого делать, это плохая практика кодирования, и я обещаю вам, что в какой-то момент разработки вы пожалеете об этом. С другой стороны, то, что вы МОЖЕТЕ сделать, - это обрабатывать вещи с блоками (например, функции, которые вы объявляете встроенными и в стеке).
Вы бы объявили блок встроенным что-то вроде этого:
void (^doStuff)(int, char *) = ^(int arg0, char *arg1) {
printf("hello block");
};
doStuff(1, "a");
doStuff(2, "b");
...
Что вы можете сделать, это сделать подкласс для вашей кнопки, который выполняет заданный оператор блока при нажатии.
Подробнее о блоках: developer.apple.com