gpt4 book ai didi

swift - 解包可选错误时意外发现 nil

转载 作者:行者123 更新时间:2023-11-30 10:47:36 24 4
gpt4 key购买 nike

我正在制作一个基于 Sprite 的游戏。在将物理学应用于我的硬币 Sprite 时,我开始遇到这个错误。关于如何避免它有什么建议吗?

@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
}
}

最佳答案

您应该始终使用“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

关于swift - 解包可选错误时意外发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55428447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com