Вызов метода другого класса с использованием селектора при нажатии кнопки - PullRequest
2 голосов
/ 11 декабря 2010

Я написал метод и подключил его с помощью кнопки, чтобы он вызывался при нажатии кнопки.Теперь я хочу вызвать тот же метод при нажатии кнопки в каком-либо другом представлении.

Как я могу это сделать?Нужно ли использовать селектор или уведомление или простой вызов метода?

Ответы [ 2 ]

11 голосов
/ 11 декабря 2010

В селекторе передайте Цель как объект вашего Класса, где этот метод.

[anotherButton addTarget:objectOfAnotherClass action:@selector(yourMethodInAnotherClass) forControlEvents:UIControlEventTouchUpInside];

или

Просто создайте объект для класса, в котором находится ваш метод кнопки, и вызовите этот метод обычным способом

In First Class say firstView
-(IBAction) yourButtonMethod : (id)sender
{
   //Some Code
}

In another class
-(IBAction) yourAnotherButtonMethod : (id)sender
{
 firstView *firstViewObject = [firstView alloc] init];
 [firstViewObject yourButtonMethod:sender];
}

дифференцировать отправителя, устанавливая tagValues ​​для кнопок

0 голосов
/ 24 сентября 2014

вы можете использовать как код удара, который вы заменяете собой на objectOfTargetClass и в селекторе с методом, который нужно нажать в этом классе

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow)name:UIKeyboardWillShowNotification
                                           object:nil];
...