objective-c - Objective-C 消息被发送到地址为 : 0x75d52a0 的已释放对象(僵尸)

标签 objective-c ios xcode dealloc nszombie

我是 iOS 开发的新手,非常感谢您帮助我找出我遇到的错误的根本原因。

我尝试使用 Instruments(即 Allocations-Zombie Profiler)调试错误,但我无法理解所呈现的调用堆栈。

这是用户界面的链接方式: TabBarController -> NavigationController -> TopPlacesTableViewController -> RecentPhotosTableViewController -> PhotoViewController

当我在最后一个 View (即 PhotoViewController 的 View )中单击“后退”按钮时发生错误。此操作本应显示之前的 RecentPhotosTableViewController,但访问了一个未知的已释放对象,有时在 viewWillAppear 和 ViewDidAppear 事件之间。

此外,我还有一个 GenericTableViewController,它是 TopPlacesTableViewController 和 RecentPhotosTableViewController 的父级。子级在父级中设置一个 NSMutableArray 属性,这是在子级 View 中加载的数据。

我目前使用的是 iOS6 和 XCode4.5。

[更新:在控制台中,显示了这一行 - “[UIView _forgetDependentConstraint:]: message sent to deallocated instance xxx”]。

最佳答案

我觉得你没有使用 ARC,并且你没有保留传递你以前的对象。与此同时,先前的对象被释放,然后您可以访问它。

您可以重构代码以使用 ARC 或放置保留或自动释放。

关于objective-c - Objective-C 消息被发送到地址为 : 0x75d52a0 的已释放对象(僵尸),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13739191/

相关文章:

objective-c - @optional 协议(protocol)方法的真实世界示例

javascript - 如何在 objective-c 中实现 back4app.com 上的 javascript 代码

javascript - document.referrer 存在但始终为空

ios - +[CATransaction synchronize] 在事务中调用

ios - 为什么 Apple Xcode iOS Simulator 会丢失 Safari.app?

ios - 向下滚动时 UISearchBar 不随 Tableview 移动

ios - 字符串中的特定颜色

iphone - 在 UIImagePickerController 中隐藏快门

ios - JavaScript 无法在 iOS 的 WKWebView 中工作

xcode - iOS 8 Swift Xcode 6 - 设置顶部导航栏 bg 颜色和高度