UIImagePickerController EXC_BAD_ACCESS错误

我build立了我的应用程序来运行,如下所示:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]]; UIImagePickerController* picker = [[UIImagePickerController alloc] init]; self.viewController = picker; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; return YES; } 

在图像select器出现后,我select“Camera Roll”。 之后,我按下后退button(标题为“照片”)。 应用程序崩溃,提供EXC_BAD_ACCESS错误。 当我启用僵尸对象时,收到“EXC_ARM_BREAKPOINT(子代码= 0xdefe)”错误,并显示以下日志。 或者:

 [UIView willRemoveSubview:]: message sent to deallocated instance 0x2088ea20 

或者如果我继续进行图像select:

 -[PLImageScrollView willRemoveSubview:]: message sent to deallocated instance 0x1d82c910 

另一方面,如果我创build一个新的项目,并只放在AppDelegate内的代码,代码的工作原理应该是 – 没有错误。

现在,我开始一个新的项目,我会复制我以前的项目,以找出问题所在。 如果有人有这些错误发生的想法,请分享您的想法。

我发现是什么问题。 AppDelegate间接地导入了我自己定制的UIView类,其中我(出于未知原因)实现了dealloc方法。

所有的观点实际上都无法正确解除分配。 我从那个类中删除了dealloc方法,一切都很好。

尝试在AppDelegate.h声明UIImagePickerController* picker AppDelegate.h作为类级variables。 - (BOOL)application:(UIApplication *)application完成后,picker被取消分配。