我的类有一个声明的存储属性:
private var touchesBeingTracked:Set<UITouch> = []
稍后在我的代码中,当我访问存储的属性时,我收到错误
线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x261)
internal func containerTouchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?, containerTouchesBeingTrackedCount: Int) {
var count:Int = self.touchesBeingTracked.count
// ...
}
搜索有关调试Swift和EXC_BAD_ACCESS
的数据(例如here和here),它似乎很可能是我尝试访问的对象(即实例上存储的属性)已经发布。这对我来说毫无意义。
我尝试通过添加行
来防范这种可能性if self.touchesBeingTracked == nil {
self.touchesBeingTracked = []
}
但编译器抱怨
类型的价值&#39; Set&#39;永远不能为空,比较是不允许的
相当
如何诊断和修复行
的原因var count:Int = self.touchesBeingTracked.count
产生EXC_BAD_ACCESS
崩溃?