Хммм, не зная, что делает ваш метод frontButtonScaleUp , я не могу дать однозначного ответа, но могу сказать вам следующее - атрибут tag NSView - это простое int без гарантии того, что оно является полезным значением. Это удобный атрибут класса, который предоставляется разработчикам для использования практически так, как они хотят. Ни в коем случае не следует путать этот атрибут с указателем!
В этой строке кода:
if (elapsed >= delay)
[self frontButtonScaleUp:[sender tag]];
Я не могу комментировать, потому что, как я уже сказал, я не знаю, что такое определение или реализация frontButtonScaleUp . Но я предполагаю, что вы ожидаете какой-то id и вместо этого передаете int. Ваш код почти наверняка взорвется здесь, если вам не повезет, он сделает это наугад.
Эта строка:
else
[self performSelector:@selector(frontButtonScaleUp) withObject:[sender tag afterDelay:delay - elapsed];
Определенно неправильно - еще раз, int! = id .
Я предполагаю, что вы пытаетесь увеличить размер кнопки после ее нажатия, после некоторой задержки? У вас уже есть идентификатор кнопки, это параметр sender в вашей функции. Просто передайте это в ваш метод frontButtonScaleUp , и вы должны пройти предупреждение вашего компилятора и исключение * EXC_BAD_ACCESS *.
if (elapsed >= delay)
[self frontButtonScaleUp:[sender]];