编辑2:在更改一些完全不相关的代码后,崩溃再次发生。即使我尝试恢复代码更改,它也会再次崩溃。
编辑:更新到iOS 9.2(从9.1开始)后,它可以再没有任何问题。
以下代码在nil检查中给了我一个EXC_BAD_ACCESS:
if(self.imageViews != nil){
for (_,element) in self.imageViews!.enumerate(){
element.removeFromSuperview()
}
}
该属性定义如下:
class ImageAdditionalContent : AdditionalContentView {
var imageViews : [UIImageView]?
即使我尝试首先为它分配一个空数组,它也会在赋值时给出一个EXC_BAD_ACCESS:
self.imageViews = []
更有趣的是,它在一天前完美运作。如果我删除整个代码,运行应用程序,退出它,再次添加代码并再次运行它,它首次在for循环中崩溃,之后再次在nil检查时崩溃。
答案 0 :(得分:1)
我会在这里利用选项。至于你的EXC_BAD_ACCESS,我不仅要检查UIImageView数组的状态,还要查看self。在作业之前设置一个断点,看看发生了什么。如果这一天工作正常,我还会看看你的项目中发生了哪些代码更改。
if let elements = self.imageViews {
for element in elements {
element.removeFromSuperview()
}
} else {
print("self.imageViews is nil! \(self.imageViews)")
}