动态创建的viewcontroller被自动释放,引起EXC_BAD_ACCESS
来源:互联网 发布:ps mac 编辑:程序博客网 时间:2024/05/12 05:11
昨儿个写了zhuyouad应用的主页面上加载二级页面的代码,在主页上触摸不同的tabbaritem,就在tabbar上方的区域显示相应的二级页面。我在触摸事件中这么写的:
UIStoryboard *homeStoryboard = [UIStoryboard storyboardWithName:@"HomeStoryboard" bundle:nil];UIViewController *homeViewController = [homeStoryboard instantiateViewControllerWithIdentifier:@"page1"];[_contextArea addSubview:homeViewController.view];
调试的时候发现,二级页面加载显示倒是成功了,但是随后二级页面控制器被作为代理调用时,就发生了EXC_BAD_ACCESS。研究了下,发现触摸事件调用退出之后,homeViewController就被release了。我勒个去,addSubview里面明明只传入了view,我却以为它里面还会让主页viewContrller把homeViewController给retain一次,很傻很天真。
后来把homeViewController声明为成员变量,万事OK。
- 动态创建的viewcontroller被自动释放,引起EXC_BAD_ACCESS
- OC--内存管理之自动释放,[NSMutableArray array]生成的自动释放数组被自动释放后引起的严重后果
- SIGABRT和EXC_BAD_ACCESS引起的crash
- ViewController创建后释放闪退
- BCB动态创建窗口的释放
- 动态三维数组的创建与释放
- c++对象的动态创建与释放
- 二维数组的动态创建和释放
- 动态内存会被自动释放吗
- viewController的View创建
- 调试EXC_BAD_ACCESS 对象释放
- Xcode 4.1 bug: Text Field 引起 EXC_BAD_ACCESS 错误的解决
- 如何调试SIGABRT和EXC_BAD_ACCESS引起的crash
- 如何调试SIGABRT和EXC_BAD_ACCESS引起的crash
- 如何调试SIGABRT和EXC_BAD_ACCESS引起的crash
- cocos2d 3.11.1使用粒子效果引起的EXC_BAD_ACCESS问题
- C# 组件,动态创建的组件,本身引起的异常
- OC学习笔记-自动释放池的创建方式
- 函数对象
- onfail
- Python调用(运行)外部程序
- MyEclipse中不能提示JSP页面的html标记属性值?
- ASP.NET中动态生成验证码的一则方法
- 动态创建的viewcontroller被自动释放,引起EXC_BAD_ACCESS
- UTMS 信令培训(2)
- 构造一个系统
- 转自别人的文章 java null 完全解读
- action 传递 List 给 JSP
- Oracle sql语句执行顺序
- 在python中使用cx_Oracle模块出现“DLL Load failed”的处理方法
- 深入跟踪MFC程序的执行流程
- 创建带有动画的APP 之 高效的显示位图:在UI线程之外处理位图