设置<uitouch>存储的属性与EXC_BAD_ACCESS崩溃

时间:2016-04-14 09:18:37

标签: ios xcode swift

我的类有一个声明的存储属性:

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的数据(例如herehere),它似乎很可能是我尝试访问的对象(即实例上存储的属性)已经发布。这对我来说毫无意义。

我尝试通过添加行

来防范这种可能性
if self.touchesBeingTracked == nil {
    self.touchesBeingTracked = []
}

但编译器抱怨

  

类型的价值&#39; Set&#39;永远不能为空,比较是不允许的

相当

如何诊断和修复行

的原因
var count:Int = self.touchesBeingTracked.count

产生EXC_BAD_ACCESS崩溃?

0 个答案:

没有答案