我想在玩家触摸屏幕时玩游戏,屏幕上显示宝石,但是我遇到错误致命错误:意外发现在展开Optional值时为nil。如何解决?
我这样做:
$name = ModelA::find(1)->modelB->modelC->name;
// ^^^^^^ modelC attribute
该错误告诉我:线程1:致命错误:在第三行解开一个Optional值时意外发现nil
答案 0 :(得分:0)
从外观上看,没有名为CoolGem
的文件。由于您使用了强制展开(!),因此应用崩溃,因为您的gem
变量为nil。
答案 1 :(得分:0)
图像已添加到您的项目中吗?它在资产目录中吗?
如果是这样,尝试像这样访问它
gem = SKSpriteNode(imageNamed: "Gem")
或者您可以确保它不会为空
if let gem = SKSpriteNode(imageNamed: "Gem") as? SKSpriteNode {
self.gem = gem
gem.position = CGPoint(x: 0, y: 0)
addChild(gem)
gem.run(SKAction.move(to: CGPoint(x: Double.random(in: -100...100), y: Double.random(in: -100...100)), duration: 1))
}