我在Tapped按钮上显示模态视图。
在该视图中,我提出了一个新视图(额外视图)。在Extra视图中,我有UITableView
&一个UIButton
。
当我点击那个按钮时,我在popOVer.Now中打开一个视图(Leftview),我想在点击leftView的表格行时忽略“Extraview”。
我的代码如下:
// Leftside view:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"DismissModal"object:nil];
}
// Presented modal view.m
- (void)viewDidLoad
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismissModal:) name:@"DismissModal" object:nil];
}
-(void)dismissModal:(NSNotification *)notif
{
[self dismissViewControllerAnimated:YES completion:nil];
}
我的错误如下:
[Reader_View dismissModal]:无法识别的选择器发送到实例0xb494e10 2013-01-08 16:12:00.468 AFFeedsReader [3449:1d903] * 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因: ' - [Reader_View dismissModal]:无法识别的选择器发送到实例0xb494e10
答案 0 :(得分:1)
在“Leftview.h”中,执行以下操作
@protocol DismissingDelegate
- (void) dismissextra;
@end
@property (weak, nonatomic) id<DismissingDelegate>delegate;
初始化leftview时,将委托分配给显示模式的ViewController。
在该控制器中,将其定义为“DismissingDelegate”,并实现以下方法:
- (void) dismissextra {
[self dismissModalViewControllerAnimated:YES];
}
答案 1 :(得分:0)
我通过实施发布通知来解决这个问题。
答案 2 :(得分:0)
请不要将通知用于简单任务,因为它消耗了大量资源...所以请始终使用任何可用的委托方法..无需真正需要在整个应用程序上收到通知..