这是我的ViewController的样子-
#import "DialogViewController.h"
@interface DialogViewController ()
@end
@implementation DialogViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(handleSingleTap:)];
[singleTapGestureRecognizer setNumberOfTapsRequired:1];
[self.view addGestureRecognizer:singleTapGestureRecognizer];}
- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer {
NSLog (@"Tap");
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end这是使用以下命令从另一个视图实例化和显示的-
DialogViewController *dialogViewController = [[DialogViewController alloc]initWithNibName:@"DialogViewController" bundle:nil];
[self.parentViewController.view addSubview: dialogViewController.view];如果我点击一下,我的应用程序就会在EXC_BAD_ACCESS KERN_INVALID_ADDRESS上崩溃。我的视图没有任何花哨的东西,它只有一张正确显示的图像。我是iOS开发的新手,我确信在这里我正在做一些愚蠢的事情。感谢您的指点。
发布于 2014-07-29 04:54:48
当内存被释放,代码试图访问无效的memory.Little时,就会出现EXC_BAD_ACCESS KERN_INVALID_ADDRESS。更多的代码将有助于你如何分配视图controller.But,我认为你应该检查一下视图控制器,它是如何被释放的。
保持对视图控制器的强引用,因为您的视图控制器正在从tap中释放位置,并且当您使用视图控制器时,它找不到指针。
发布于 2014-07-29 04:43:48
试试self.view.window
[self.view.window addGestureRecognizer:singleTapGestureRecognizer];https://stackoverflow.com/questions/25003872
复制相似问题