带有 UIImagePickerController 和 UIPopoverController 的 exc_bad_access

Posted

技术标签:

【中文标题】带有 UIImagePickerController 和 UIPopoverController 的 exc_bad_access【英文标题】:exc_bad_access with UIImagePickerController and UIPopoverController 【发布时间】:2011-08-17 14:03:20 【问题描述】:

在我的应用程序 (Ipad) 中调用这段代码后,我立即得到一个 EXC_BAD_ACCESS

我几乎没有从 XCode 中得到任何调试信息,XCode 为我指出了那行代码:

int retVal = UIApplicationMain(argc, argv, nil, nil);

我猜一个对象已经过早地自动释放,但是为什么以及如何解决这个问题?

NSLog(@"OpenPhotoDialog");
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = srcType;

UIDevice* thisDevice = [UIDevice currentDevice];

UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker] ;
popover.delegate = self;

[popover presentPopoverFromRect:self.view.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

【问题讨论】:

【参考方案1】:

通常 EXC_BAD_ACCESS 会将对象发送到已释放的块。

如果您在可执行文件中设置参数

NSZombieEnabled 是的

然后你就可以知道哪个对象正在释放哪个使用时间更长。

干杯

【讨论】:

对不起,我是 xcode 的新手,我遇到了同样的问题,我将在哪里设置 nszombieEnabled YES?

以上是关于带有 UIImagePickerController 和 UIPopoverController 的 exc_bad_access的主要内容,如果未能解决你的问题,请参考以下文章

ViewController 生命周期 UINavigationController

如何从 webview 使用 UIImagePickerController

iPhone OS 3.0 中的 UIImagePickerController

iOS开发——打开手机相册,获取图片

如何使用 iphone 中的核心数据将图像存储到 sqlite? [复制]

带有多个链接的 NSAttributedString 的 UILabel,带有行限制,显示尾部截断,带有未见文本的 NSBackgroundColorAttributeName