ios:ARC中的过度释放对象[关闭]
Posted
技术标签:
【中文标题】ios:ARC中的过度释放对象[关闭]【英文标题】:ios: over release object in ARC [closed] 【发布时间】:2015-09-22 08:40:28 【问题描述】:我在我的项目中使用 ARC。
在取消分配自定义视图期间,我的应用程序有时会崩溃。我认为该对象之前已经被释放,但自动释放池尝试再次释放它。
导致问题的原因是什么?我想我没有在多线程中访问视图对象。
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x00010012
0 CoreFoundation CFRelease + 17
8 UIKit -[UIView dealloc] + 1420
9 mypreoject QuestionPage.m line 29 -[QuestionPage dealloc]
10 libobjc.A.dylib (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 388
16 UIKit UIApplicationMain + 144
17 mypreoject main.m line 13 main
18 libdyld.dylib start + 2
【问题讨论】:
【参考方案1】:查看 QuestionPage.m 第 29 行。你看到那里有什么可疑的地方吗?
另一个建议是使用 Instruments 来调试内存错误,但如果您使用 ARC,我怀疑是否有任何错误。
另外值得一提的是进入应用的构建设置并确保实际使用了 ARC。
【讨论】:
对不起,我忘记发布代码了。 QuestionPage.m 中的第 29 行是 [[NSNotificationCenter defaultCenter] removeObserver:self] 之后的“”。以上是关于ios:ARC中的过度释放对象[关闭]的主要内容,如果未能解决你的问题,请参考以下文章