这个错误一直出现在我的代码中,我不知道如何修复它
This error keeps appearing in my code and I can't figure out how to fix it
我正在 Xcode 8 中使用 swift 3 制作一个 ios 游戏应用程序,但我不断收到一条错误 "Thread 1: EXC_BAD_INSTRUCTION (codeEXC_1386_INVOP, subcode=0x0)" 和一条控制台消息致命错误:"Index out of range (lldb)"。有谁知道如何解决这个问题?
这是有错误的代码部分。我在 'let nodeB = cableSegments[i]'
行中得到它
for i in 1..<length {
let nodeA = cableSegments[i - 1]
let nodeB = cableSegments[i]
let joint = SKPhysicsJointPin.joint(withBodyA: nodeA.physicsBody!, bodyB: nodeB.physicsBody!,
anchor: CGPoint(x: nodeA.frame.midX, y: nodeA.frame.minY))
scene.physicsWorld.add(joint)
}
"out of range" 错误在许多编程语言中很常见。它向您表明循环正试图访问数组中超出数组范围的位置。
根据您上面的代码,无法弄清楚您从哪里获得 length
值,但它应该是数组长度。
希望下面的代码可以工作:
var counter = 0
for i in 0..<cableSegments.count {
counter += 1
if counter == cableSegments.count {
break
}
let nodeA = cableSegments[i]
let nodeB = cableSegments[i + 1]
let joint = SKPhysicsJointPin.joint(withBodyA: nodeA.physicsBody!, bodyB: nodeB.physicsBody!,
anchor: CGPoint(x: nodeA.frame.midX, y: nodeA.frame.minY))
scene.physicsWorld.add(joint)
}
我正在 Xcode 8 中使用 swift 3 制作一个 ios 游戏应用程序,但我不断收到一条错误 "Thread 1: EXC_BAD_INSTRUCTION (codeEXC_1386_INVOP, subcode=0x0)" 和一条控制台消息致命错误:"Index out of range (lldb)"。有谁知道如何解决这个问题?
这是有错误的代码部分。我在 'let nodeB = cableSegments[i]'
行中得到它for i in 1..<length {
let nodeA = cableSegments[i - 1]
let nodeB = cableSegments[i]
let joint = SKPhysicsJointPin.joint(withBodyA: nodeA.physicsBody!, bodyB: nodeB.physicsBody!,
anchor: CGPoint(x: nodeA.frame.midX, y: nodeA.frame.minY))
scene.physicsWorld.add(joint)
}
"out of range" 错误在许多编程语言中很常见。它向您表明循环正试图访问数组中超出数组范围的位置。
根据您上面的代码,无法弄清楚您从哪里获得 length
值,但它应该是数组长度。
希望下面的代码可以工作:
var counter = 0
for i in 0..<cableSegments.count {
counter += 1
if counter == cableSegments.count {
break
}
let nodeA = cableSegments[i]
let nodeB = cableSegments[i + 1]
let joint = SKPhysicsJointPin.joint(withBodyA: nodeA.physicsBody!, bodyB: nodeB.physicsBody!,
anchor: CGPoint(x: nodeA.frame.midX, y: nodeA.frame.minY))
scene.physicsWorld.add(joint)
}