默认太复杂,无法使用基本的“+”运算符编译 [英] Defaults too complex to compile with basic '+' operator

查看:189
本文介绍了默认太复杂,无法使用基本的“+”运算符编译的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

func updateTotalScore() -> Int {
        var totalScoreDefault = NSUserDefaults.standardUserDefaults()

        var highScoreAB1 = defaults.integerForKey("highScoreAB1")

        var highScoreAB2 = defaults.integerForKey("highScoreAB2")

        var highScoreAB3 = defaults.integerForKey("highScoreAB3")

        var highScoreAB4 = defaults.integerForKey("highScoreAB4")
        var highScoreAB5 = defaults.integerForKey("HighScoreAB5")
        var highScoreAB6 = defaults.integerForKey("highScoreAB6")
        var highScoreAB7 = defaults.integerForKey("highScoreAB7")
    totalScoreDefault =
      (defaults.integerForKey("highScoreAB1") + defaults.integerForKey("highScoreAB2")) + (defaults.integerForKey("highScoreAB3") +   defaults.integerForKey("highScoreAB4")) + (defaults.integerForKey("highScoreAB5") + defaults.integerForKey("highScoreAB6")) + defaults.integerForKey("highScoreAB7") }

添加多个键, score default将抛出以下错误。我试着把它们组合在一起成对,这没有工作。先谢谢你。这是从昨天的一个职位的延续。

Adding multiple keys to get a total score default throws the following error. I tried grouping them together into pairs, and that did not work. Thank you in advance. This is a continuation from a post from yesterday.

推荐答案

就像Logan的回答一样,因为你说你对复杂表达式编译错误有问题。这应该编译:

Just as an addition to Logan's answer, because you are saying that you have problems with "complex expression" compiler error. This should compile:

func updateTotalScore() -> Int {

           let defaults = NSUserDefaults.standardUserDefaults()

           let totalScoretDefault =
                 defaults.integerForKey("highScoreAB1") +
                 defaults.integerForKey("highScoreAB2") +
                 defaults.integerForKey("highScoreAB3") +
                 defaults.integerForKey("highScoreAB4") +
                 defaults.integerForKey("highScoreAB5") +
                 defaults.integerForKey("highScoreAB6") +
                 defaults.integerForKey("highScoreAB7")

           return totalScoretDefault

}

这篇关于默认太复杂,无法使用基本的“+”运算符编译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆