首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘永远不会被执行’

‘永远不会被执行’
EN

Stack Overflow用户
提问于 2016-04-20 10:13:20
回答 2查看 2.1K关注 0票数 0

我不知道为什么这个错误会出现在代码中:

代码语言:javascript
复制
    func torpedoDidCollideWithAlien(torpedo:SKSpriteNode, alien:SKSpriteNode){
        print("HIT")
        torpedo.removeFromParent()
        alien.removeFromParent()

        var aliensDestroyed = 0
        aliensDestroyed += 1

        if (aliensDestroyed > 10){ //Transition to GameOver or Success
            let transition:SKTransition = SKTransition.flipHorizontalWithDuration(0.5)
                let gameOverScene:SKScene = GameOverScene(size: self.size, won: true)
                self.view?.presentScene(gameOverScene, transition: transition)
            }

错误在下面这一行:

代码语言:javascript
复制
let transition:SKTransition = SKTransition.flipHorizontalWithDuration(0.5) //'Will never be executed'
EN

回答 2

Stack Overflow用户

发布于 2016-04-20 10:16:53

声明一个名为aliensDestroyed的新变量,其值为0。然后将该值递增为1

然后检查这个值是否大于10,这不可能是真的。它将始终是1

因此,if语句的内容永远不会执行。

您可能需要的是一个名为aliensDestroyed的实例变量,而不是在torpedoDidCollideWithAlien函数中创建一个新的局部变量。

票数 5
EN

Stack Overflow用户

发布于 2016-04-20 10:55:09

这不是一个错误,而是一个警告。编译器已经对您的代码进行了分析,并告诉您,按照您编写代码的方式,if语句永远不会为真,因此括号内的语句将永远不会被执行。

rmaddy在他的回答中解释了原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36732615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档