Выполните: @selector, используя метод с параметрами

У меня есть метод hideButton

-(void) hideButton:(UIButton) *button {
[button setHidden:YES];
}

и я получаю ошибку "не могу использовать объект как параметр для метода".

Я хочу иметь возможность указать кнопку в качестве параметра для метода при вызове этого

[self performSelector:@selector(hideButton:smallestMonster1)
withObject:nil afterDelay:1.0];

Как это можно сделать? поскольку вышеуказанная попытка не работает. Мне нужно иметь возможность указывать кнопку в качестве параметра или, по крайней мере, делать способ осведомленным о том, какая кнопка вызывает скрытие через 1 секунду.

Спасибо

Ответы

Ответ 1

Вы можете передать параметр в селектор с помощью параметра withObject:

[self performSelector:@selector(hideButton:) withObject:smallestMonster1 afterDelay:1.0];

Обратите внимание, что вы можете передать не более 1 параметра таким образом. Если вам нужно передать больше параметров, для этого вам понадобится класс NSInvocation.

Изменить: Правильное объявление метода:

-(void) hideButton:(UIButton*) button

Вы должны ввести тип параметра внутри(). Ваш метод hideButton получает указатель на UIButton, поэтому вы должны поставить UIButton* there