Неожиданно обнаружен ноль при развертывании дополнительной ошибки - PullRequest
0 голосов
/ 30 марта 2019

Я делаю игру на основе спрайтов.Применяя физику к своим монетным спрайтам, я начал сталкиваться с этой ошибкой.Любые предложения о том, как этого избежать?

@objc func spawnEnemy(){
    enemy = childNode(withName: "enemy") as? SKSpriteNode
    coin = childNode(withName: "coin") as? SKSpriteNode
    self.physicsWorld.contactDelegate = self

и позже

 for coin in sprites{
    if coin.name == "coin"{
        coin.physicsBody = SKPhysicsBody(rectangleOf: enemy.size)
        coin.physicsBody?.categoryBitMask = PhysicsCategory.coin
          coin.physicsBody?.contactTestBitMask =           PhysicsCategory.player
        coin.physicsBody?.affectedByGravity = false
        coin.physicsBody?.isDynamic = true
        }
}

1 Ответ

0 голосов
/ 30 марта 2019

Вы всегда должны безопасно развернуть необязательные значения, используя «if let» или «guard let»

, используя if let:

   if let coin = coin , let name = coin.name { 
    // you can use "coin" or "name" safely here
   }else{
     // "coin" or "name" is nil
   }

, используя guard let:

   guard let coin = coin , let name = coin.name  else { 
     // "coin" or "name" is nil
    return
    }
    //you can use "coin" or "name" safely here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...