问题EXC_BAD_ACCESS与“removeFromSuperView

时间:2011-07-01 18:40:19

标签: iphone objective-c xcode uiimageview exc-bad-access

我在xcode上遇到了问题。当我的图像(image1)与image2冲突时我想用removefromsuperview将其删除但是当我运行我的应用程序时出现错误“EXC_BAD_ACCESS”,我认为这是由于removefromsuperview。我怎么解决这个问题?对不起我的英语我是法国人:/

3 个答案:

答案 0 :(得分:3)

这意味着您调用removeFromSuperView的对象不存在,或之前已发布。

确保将消息发送到有效对象。

答案 1 :(得分:3)

EXC_BAD_ACCESS表示您在释放对象后使用它。使用Xcode的分析器(CMD + A)查找具有NSZombieEnabled标志的调试器的位置或使用。

如果你想让我用法语写这个,评论我会翻译:)

答案 2 :(得分:1)

我之所以这样,是因为在尝试将其从superview中删除之前,我已从视图中删除了所有CALayers。 self.layer.sublayers = nil和迭代它们都导致了问题。在以编程方式实例化视图时工作得很好,但是当我从故事板中实例化它时,它显然有一些我不知道的其他层的弱指针。

解决方案?我一直跟踪我自己的所有图层并一次删除它们,而不是假设self.layer.sublayers中的所有图层都是我的。