2 u011073953 u011073953 于 2016.02.23 18:36 提问

IOS dismissViewControllerAnimated,EXEC_BAD_ACCESS

遇到个实在没法解决的问题。简单说是这样的:我用XIB自定义了一个带有返回按钮的UIView,并且将它绑定到了一个类上,然后在storyBoard中直接引用。
现在的问题是,我把那个按钮用IBAction关联到一个方法上,并且在其中写了两行代码用于结束当前ViewController

     UIViewController * controller = [Helper findViewController:self];
    [controller dismissViewControllerAnimated:YES completion:^(){}];

解释下:这里的Helper是我自用的工具类,findViewController是用于找出UIView属于的viewController.我测试了这个找出来的没问题,就是当前的controller.
然后,结束当前的controller也没问题,正常结束。问题就出现在返回上一级页面之后,大概有80%多的概率,碰到屏幕任何地方就直接出现EXEC_BAD_ACCESS了
我按照别人的说法,开启的zombie检测,检测到了发生异常的地方是这样的:
[CALayer retain]: message sent to deallocated instance 0x7fad35e013c0
因为项目都是ARC了,真的不懂这个内存是什么问题。

1个回答

u011679403
u011679403   2016.03.03 16:28

[controller dismissViewControllerAnimated:YES completion:^(){}];没看懂你怎么这么写?你是需要在当前控制器中,控制其他控制器弹出?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
dismissViewControllerAnimated到根视图
如果是在Controller中  则代码如下 -(void)backClick{ UIViewController *vc = self; while (vc.presentingViewController) { vc = vc.presentingViewController; } [vc dismissViewController
iOS常见异常Exec_Bad_Access问题解决办法
在iOS开发中,经常遇到Exec_Bad_Access异常,导致程序奔溃问题,一般这个问题都是因为过早的release对象,然后又对该对象发送消息导致这个问题。可以通过在Xcode中设置NSZombieEnabled变量来获取一些详细信息。 Xcode 4之前的做法是: 1 在XCode界面中,双击Executables中的可执行文件,将会弹出一个设置对话框 2 在Arguments选项中的
UIViewController的 dismissViewControllerAnimated:completion:方法
转载自:http://blog.csdn.net/terrylee_cold/article/details/7529132  今天coding的时候碰到了dismissModalViewControllerAnimated:方法.这个方法的功能是释放接受到这个消息的对象(UIViewcontroller对象).     如:[self  dismissModalViewContr
IOS dismissViewControllerAnimated VS popViewControllerAnimated
设置 segue identifier 选择要跳转的连线命名     程序中使用方法如下: #pragma mark - Navigation 根据场景判断 // In a storyboard-based application, you will often want to do a little preparation before navig
使用通知机制,在dismissViewControllerAnimated后,completion传值给上一个父视图方法
dismissViewControllerAnimated后,completion传值给上一个父视图方法 转自
dismissModalViewControllerAnimated不起作用
dismissModalViewControllerAnimated不起作用是因为 你调用presentModalViewController方法的是这个uiviewcontroller, 那你就必须通过调用这个uiviewcontroller的dismissModalViewControllerAnimated方法, 才可以起作用。 【原文:http://blog
dismissViewControllerAnimated 关闭当前controller
iOS 5 SDK中新添加的dismissViewControllerAnimated:completion: 方法可以被用来关闭一个场景。
ios调用dismissViewController的一个小陷阱
我们的APP从启动到进入主页面,是通过presentViewController构造了一个ViewController序列,类似于首页 -> 登陆页 -> 启动加载页 -> 主页面 其中,在启动加载页的viewDidAppear方法里做了很多逻辑处理: -(void) viewDidAppear:(BOOL)animated{ dispatch_async(dispatch_
dismissViewController实现多个模态视图跳转
最近实现的一个需求需要用到模态视图,所以少不了与dismissViewController方法打交道。本文主要讲一讲在使用dismissViewController方法过程中遇到的那些坑。由于业务逻辑比较特殊,程序中需要在A试图控制器中present B试图控制器的视图,B视图控制器需要present C视图控制器中的视图。最后从C直接返回A。dismissViewControllerAnimate
因IOS版本导致的模态视图控制器dismissModalViewControllerAnimated调用问题
今天用模态视图控制器(Modal View Controller)时遇到了一个很狗血的问题,按理说presentModalViewController和dismissModalViewControllerAnimated应该成对出现,一般情况下presentModalViewController会在parentViewController被直接调用,用来弹出一个新视图;而dismissModalV