Невозможно отклонить popover из того же класса, потому что popover представлен из класса popoverclass.m
, а ваша таблица находится в ClassPopDismiss.m
.
Так что лучший вариант - иметь пользовательский делегатметод в вашем ClassPopDismiss.h
:
// ClassPopDismiss.h
@protocol DismissDelegate <NSObject>
-(void)didTap;
@end
И установите id <DismissDelegate> delegate;
в вашем @interface
разделе.
Позвоните didTap
, чтобы сообщить PopOverClass
, что tableView
нажата,
// ClassPopDismiss.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
[delegate didTap];
}
В вашем popoverclass.h
:
@interface PopOverClass : UIViewController <DismissDelegate>
В вашем popoverclass.m
не забудьте назначить делегата на self
.Как:
ClassPopDismiss *classpop = [[ClassPopDismiss alloc]init];
classpop.delegate=self;
И при использовании метода протокола:
-(void)didTap
{
//Dismiss your popover here;
[popover dismissPopoverAnimated:YES];
}