我在xcode上遇到了问题。当我的图像(image1)与image2冲突时我想用removefromsuperview将其删除但是当我运行我的应用程序时出现错误“EXC_BAD_ACCESS”,我认为这是由于removefromsuperview。我怎么解决这个问题?对不起我的英语我是法国人:/
答案 0 :(得分:3)
这意味着您调用removeFromSuperView的对象不存在,或之前已发布。
确保将消息发送到有效对象。
答案 1 :(得分:3)
EXC_BAD_ACCESS
表示您在释放对象后使用它。使用Xcode的分析器(CMD + A)查找具有NSZombieEnabled
标志的调试器的位置或使用。
如果你想让我用法语写这个,评论我会翻译:)
答案 2 :(得分:1)
我之所以这样,是因为在尝试将其从superview中删除之前,我已从视图中删除了所有CALayers。 self.layer.sublayers = nil
和迭代它们都导致了问题。在以编程方式实例化视图时工作得很好,但是当我从故事板中实例化它时,它显然有一些我不知道的其他层的弱指针。
解决方案?我一直跟踪我自己的所有图层并一次删除它们,而不是假设self.layer.sublayers
中的所有图层都是我的。