Я пытаюсь реализовать метод делегата для моей кнопки ... Я думаю, что все сделал правильно, но не понимаю, почему я не могу заставить его работать ... Моя кнопка не отвечает на какие-либо команды выглядит мертвым ... ...Метод делегата не работает
Моя кнопка расположена в ViewController «B» и функции, которую он должен выполнить расположен в ViewController «A»
Это мой код
viewControllerB.h
@protocol UNI_TableLoginDelegate <NSObject>
-(void)showPassw;
@end
@interface viewControllerB : UITableViewController
@property (nonatomic, weak) id <UNI_TableLoginDelegate> delegate;
@end
viewControllerB.m (здесь я подключил кнопку действия через мой раскадровки)
@implementation viewControllerB
@synthesize delegate;
- (void)viewDidLoad {
[super viewDidLoad];
}
- (IBAction)showReset:(id)sender {
[delegate showPassw];
}
viewControllerA.m
#import "viewControllerB.h"
@interface viewControllerA() <UNI_TableLoginDelegate>
- (void)viewDidLoad {
[super viewDidLoad];
viewControllerB *tableLogin = [[viewControllerB alloc] init];
tableLogin.delegate = self;
}
//Delegate Method
-(void)showPassw {
if (containerTable.frame.origin.y == 56) {
NSLog(@"ssss");
}
else {
NSLog(@"hdhdh");
}
}
Где значение 'delegate' установить? Использование '@ synhesize' не было хорошей практикой на протяжении многих лет, оно не требуется, автоматически генерируется переменная экземпляра с добавленным подчеркиванием« _ ». Лучшая практика заключается не в том, чтобы использовать свойство iVars напрямую, а скорее с 'self.',' [self.delegate showPassw]; ' – zaph
как вы вызываете viewCntoller B? как вы устанавливаете делегат? Вы используете метод performSegue? –
Я удалил thesyntesize и принял self.delegate в качестве вашего предложения, но когда я пользуюсь кнопкой, все равно не получаю никаких действий. – kAiN