Выполните: @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