【问题标题】:problem EXC_BAD_ACCESS with "removeFromSuperView问题 EXC_BAD_ACCESS 与“removeFromSuperView
【发布时间】:2011-07-01 18:40:19
【问题描述】:
我在 xcode 上遇到问题。当我的图像(图像 1)与图像 2 碰撞时,我想用 removefromsuperview 将其删除,但是当我运行我的应用程序时出现错误“EXC_BAD_ACCESS”,我认为这是由于 removefromsuperview 造成的。我该如何解决这个问题?对不起我的英语我是法国人:/
【问题讨论】:
标签:
iphone
objective-c
xcode
uiimageview
exc-bad-access
【解决方案1】:
这意味着您调用 removeFromSuperView 的对象不存在,或者之前已释放。
确保您将消息发送到有效对象。
【解决方案2】:
EXC_BAD_ACCESS 表示您正在使用一个已释放的对象。使用 Xcode 的分析器 (CMD+A) 查找位置或使用带有NSZombieEnabled 标志的调试器。
如果你想让我用法语写这篇文章,请发表评论,我会翻译 :)
【解决方案3】:
我得到这个是因为我在尝试将其从超级视图中删除之前已从视图中删除了所有 CALayers。 self.layer.sublayers = nil 和迭代它们都导致了问题。当以编程方式实例化视图时工作得很好,但是当我从情节提要中实例化一个视图时,它显然有指向我不知道的其他层的弱指针。
解决方案?我跟踪了我自己的所有层,并一次删除它们,而不是假设self.layer.sublayers 中的所有层都是我的。