2014-07-24 4 views
0

Xcode 6에서이 문제가 여러 번 발생했습니다. 문제는 내가 공이 달려있어 블록을 치면 죽는 것입니다. 그는 뛰어 내릴 수있다. 첫 번째 블록은 항상 충돌합니다. 마치 공중에 있지 않은 것처럼 정상적으로 굴러 첫 번째 블록을 누르면 그냥 멈추고 닫는 것과 같습니다.EXC_BAD_INSTRUCTION 버그

Thread 1: EXC_BAD_INSTRUCTION(code=EXC_1386_INVOP, subcode=0x0)

행 번호 2, 7 (공간을 계산) 녹색 배경을 가지고 : 그것은 나에게 오류를 제공

.

func didBeginContact(contact:SKPhysicsContact) { 
    died() 
} 

func died() { 
    if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene { 
     let skView = self.view as SKView                 
     skView.ignoresSiblingOrder = true 
     scene.size = skView.bounds.size 
     scene.scaleMode = .AspectFill 
     skView.presentScene(scene) 
    } 
} 

답변

2

EXC_BAD_INSTRUCTION가 어설 코드에서 어딘가에 있다는 것을 의미한다 :

오류 라인입니다. 코드의 유일한 행은 그 던질 수 제공 어설입니다 : self.view가 SKView 캐스트 할 수없는 경우가 주장하는 것

let skView = self.view as SKView 

. 마치 self.view가 실제로 SKView가 아닌 ​​것처럼 보입니다.

는 장면처럼 선택 사양 캐스트를 수행 할 수 확인하려면

if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene { 
    if let skView = self.view as? SKView {               
     skView.ignoresSiblingOrder = true 
     scene.size = skView.bounds.size 
     scene.scaleMode = .AspectFill 
     skView.presentScene(scene) 
    } 
} 
+0

내가 돈을 작동해야

변화는 zneak

+0

@zneak, 나는 그 부분의 잘못된 부분이 "throw a"라고 생각합니다. 나는 여전히 예외에 익숙합니다. :) 나는 단지 "주장 할 것"이라고 말하도록 업데이트했습니다. – drewag

+0

@zneak [어설 션에 관한 문서] (https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html# // apple_ref/doc/uid/TP40014097-CH5-XID_438). – ahruss

0

내가 당신의 문제에 대한 수정을 발견했다 생각합니다. let skView = self.view as SKView

if let skView = self.view as SKView! 
0
if let skView = self.view as? SKView! {               
    skView.ignoresSiblingOrder = true 
    scene.size = skView.bounds.size 
    scene.scaleMode = .AspectFill 
    skView.presentScene(scene) 
} 

에이

관련 문제