Можно ли вызвать методы @selector из другого класса? например, я делаю метод «bannerTapped:» и вызывается из класса «myViewController.m».Как вызвать метод @selector из другого класса
myviewcontroller.m:
anotherClass *ac= [[anotherClass alloc]init];
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc]initWithTarget:ac action:@selector(bannerTapped:)];
singleTap.numberOfTapsRequired = 1;
singleTap.numberOfTouchesRequired = 1;
cell.conversationImageView.tag = indexPath.row;
[cell.conversationImageView addGestureRecognizer:singleTap];
[cell.conversationImageView setUserInteractionEnabled:YES];
anotherClass.m:
-(void)bannerTapped:(UIGestureRecognizer *)gestureRecognizer {
//do something here
}
обновленный:
viewController.m:
#import "anotherClass.h"
+(viewcontroller *)myMethod{
// some code...
anotherClass *ac= [[anotherClass alloc]init];
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc]initWithTarget:ac action:@selector(bannerTapped:)];
}
anotherClass.h:
-(void)bannerTapped:(UIGestureRecognizer *)gestureRecognizer;
anotherClass.m:
-(void)Viewdidload{
[viewController myMethod];
}
-(void)bannerTapped:(UIGestureRecognizer *)gestureRecognizer {
//do something here
}
я сделал. и теперь он показывает мне предупреждение uneclared selector "bannerTapped – user3266009
@ user3266009 вы объявили bannerTapped в .h файле этого класса и импортировали его в свой viewController? –
Я только что объявил метод bannerTapped в .h класса viewController, но мое приложение получает сбой, который теперь вызвал ошибку «непризнанный селектор, отправленный на экземпляр». – user3266009