我正在努力应对以下场景,可以使用一些不同的视角来阐明我的情况:
我有一个self.backstack
,它是当您点击后退按钮时要“返回”的部分的数组。在特定情况下按下后退按钮时,我收到 EXC_BAD_ACCESS
,但我不确定代码对哪个对象感到愤怒,因为一切似乎都在那里。
如果您查看图像的左下角,您会发现 self
、backStack
和 userInfo
都在那里。不仅如此,他们各自的打印也记录在右下角。
对于可能出现的问题有什么想法吗?谢谢。
最佳答案
我怀疑您有一个通知观察者,该观察者在取消注册通知之前已被释放。
通知是同步的,这意味着在您崩溃的线路上,它正在尝试运行所有观察者回调。检查您注册这些对象的所有位置,并确保这些对象要么保留在其他地方,要么在释放它们时正确取消注册(removeObserver iirc)。
关于ios 以及涉及 EXC_BAD_ACCESS 的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11143139/