我在我的应用中遇到了一个非常奇怪的EXC_BAD_ACCESS崩溃。导致崩溃的代码是
private func isValidGridCoordinate(coord : CGPoint) -> Bool {
return !((coord.x < 0) || (coord.x >= gridSize.width)
|| (coord.y < 0) || (coord.y >= gridSize.height))
}
但是当我查看XCode中的内存时,我发现coord,self和gridSize中的值与预期完全一致。如果我的对象都不是nil,为什么会发生这个错误?
编辑:在崩溃时调用此函数的代码是
private func caveCellFromGridCoordinate(coord : CGPoint) -> CaveCell? {
if (isValidGridCoordinate(coord)) {
return self.grid[Int(coord.y)][Int(coord.x)] as? CaveCell
}
return nil
}
答案 0 :(得分:1)
看起来您正在使用|
,这是一个按位OR运算符。您想使用||
- 逻辑OR运算符。
答案 1 :(得分:0)
好的,所以在放入一堆println之后,我发现代码中的其他地方存在导致溢出的逻辑错误。奇怪的是,我会得到我得到的错误信息,但无论如何,它似乎现在正在工作