//AddSideBarProtocol.h
@protocol AddSideBarProtocol <NSObject>
- (IBAction)barButtonTapped:(id)sender;
@end
Я создаю выше протокол для использования во всех контроллерах моего представления. Моя реализация этого протокола заключается в следующем:Протокол ios не работает должным образом
//AddVehicleViewController.m
- (IBAction)barButtonTapped:(id)sender{
[self.view endEditing:YES];
[lblToolBarTitle setText:@"Vehicle Management"];
tblViewSideBar = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 200, self.view.frame.size.height-44)];
tblViewSideBar.delegate = self;
tblViewSideBar.dataSource = self;
tblViewSideBar.separatorStyle = UITableViewCellSeparatorStyleNone;
[tblViewSideBar setBackgroundColor:[UIColor lightGrayColor]];
btnToClose = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[btnToClose setBackgroundColor:[UIColor clearColor]];
[btnToClose addTarget:self action:@selector(dismissView:) forControlEvents:UIControlEventTouchUpInside];
addSideBarView = [[UIView alloc]initWithFrame:CGRectMake(0, 44, 200, self.view.frame.size.height)];
[addSideBarView setBackgroundColor:[UIColor blackColor]];
addSideBarView.frame = CGRectMake(-200, 44, 200, self.view.frame.size.height);
[UIView animateWithDuration:0.5
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^ {
addSideBarView.frame = CGRectMake(0, 44, 200, self.view.frame.size.height);
}
completion:nil];
[self.view addSubview:btnToClose];
[self.view addSubview:addSideBarView];
[addSideBarView addSubview:tblViewSideBar];
}
И я звоню протокол от другого контроллера вида с именем «MaintenanceViewControlle», используя следующие строки кода ::
AddVehicleViewController *addVehicle = [[AddVehicleViewController alloc] init];
id <AddSideBarProtocol> addSide;
addSide = addVehicle;
[addSide barButtonTapped:sender];
Но этот протокол не является правильно функционирует, поэтому, где мне не хватает?
Что ошибка У Р получать? – bhawesh
Я не получаю никаких ошибок, но этот метод используется для добавления представления при нажатии кнопки, это представление не добавляет использование протокола. –
Почему добавление addVehicle в addSide? Почему бы не сделать [addVehicle barButtonTapped: отправитель]? Если вы правильно разместили в своем AddVehicleViewController.h, у вас не должно быть ошибок/предупреждений –
KIDdAe