使用附加到视图的手势识别器会导致我的应用程序崩溃,并显示EXC_BAD_ACCESS错误。以下是涉及的类:
• BoardViewController - 在AppDelegate中设置为rootViewController,显示一个作为背景的板。它实例化多个“TaskViewcontroller”对象。
.xib文件是一个简单的视图。 所有与手势识别器相关的编程都最好在代码中完成。有任何解决导致应用程序崩溃错误的想法吗?
• BoardViewController - 在AppDelegate中设置为rootViewController,显示一个作为背景的板。它实例化多个“TaskViewcontroller”对象。
//BoardViewController.h
@interface BoardViewController : UIViewController {
NSMutableArray* allTaskViews; //for storing taskViews to avoid having them autoreleased
}
//BoardViewController.m - Rootviewcontroller, instantiating TaskViews
- (void)viewDidLoad
{
[super viewDidLoad];
TaskViewController* taskA = [[TaskViewController alloc]init];
[allTaskViews addObject:taskA];
[[self view]addSubview:[taskA view]];
}
• TaskViewController - 一个在面板上显示的单独的方块。它应该是可拖动的。因此,我将UIPanGestureRecoginzer附加到了它的视图上。
- (void)viewDidLoad
{
[super viewDidLoad];
UIPanGestureRecognizer* panRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(handlePan:)];
[[self view] addGestureRecognizer:panRecognizer];
}
- (void)handlePan:(UIPanGestureRecognizer *)recognizer {
NSLog(@"PAN!");
}
.xib文件是一个简单的视图。 所有与手势识别器相关的编程都最好在代码中完成。有任何解决导致应用程序崩溃错误的想法吗?
viewDidLoad
方法结束时释放了您的taskA
视图控制器(因为您没有其他对它的引用),因此目标变得无效。 - omz