gpt4 book ai didi

objective-c - ARC 转换后的应用程序在最后一次调用 .cxx_destruct 时崩溃

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:35 24 4
gpt4 key购买 nike

下面是我的应用程序崩溃的线程的堆栈跟踪。我最近将我的应用程序转换为 ARC。最后一次调用是 HomePageViewController 的 cxx_destruct,它是我在 tabviewcontroller 中的一个选项卡的 rootviewcontroller。appdelegate 实现文件未启用 ARC 进行编译,因此 HomePageViewController 一旦添加到 appdelegate 文件中的 tabbarviewcontroller 就会被释放。HomePageViewController 实现文件具有用于编译的 ARC 启用标志。有人可以指导我正确的方向。

0   libobjc.A.dylib                 0x35bcdf2a objc_release
1 MySample 0x00096142 -[HomePageViewController .cxx_destruct] + 402
2 libobjc.A.dylib 0x35bcff3a object_cxxDestructFromClass(objc_object*, objc_class*)
3 libobjc.A.dylib 0x35bcd0ce objc_destructInstance
4 libobjc.A.dylib 0x35bcd3a2 object_dispose
5 UIKit 0x37b05c84 -[UIViewController dealloc]
6 MySample 0x00095afa -[HomePageViewController dealloc] + 218
7 libobjc.A.dylib 0x35bcd484
8 CoreFoundation 0x3801343c _CFAutoreleasePoolPop
9 UIKit 0x37a46d94 _wrapRunLoopWithAutoreleasePoolHandler
10 CoreFoundation 0x380a56ca __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
11 CoreFoundation 0x380a39bc __CFRunLoopDoObservers
12 CoreFoundation 0x380a3d12 __CFRunLoopRun
13 CoreFoundation 0x38016eb8 CFRunLoopRunSpecific
14 CoreFoundation 0x38016d44 CFRunLoopRunInMode
15 GraphicsServices 0x35ccc2e6 GSEventRunModal
16 UIKit 0x37a8e2fc UIApplicationMain
17 MySample 0x0002be98 main + 116
18 MySample 0x0000315c start +

最佳答案

上面的评论是正确的;您似乎在该 View Controller 上手动调用 release,这在 ARC 中是不允许的。只需删除该调用,您就可以开始了。

此外,您为什么将应用委托(delegate)排除在 ARC 之外?如果您使用的是 Core Data,那么除了 Core Data 堆栈之外,该类中甚至不应该有太多代码......

关于objective-c - ARC 转换后的应用程序在最后一次调用 .cxx_destruct 时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12562058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com