获取函数的值返回函数范围之外的布尔值

时间:2017-09-19 13:45:11

标签: swift swift3

我有一个函数deductCoins

func deductCoins() -> Bool {

        if price > coins {
            label.text = String("You dont have enough coins")
            self.view.addSubview(label)
            return false
        }
        if coins >= price {
            coins = coins - price
            UserDefaults.standard.set(coins, forKey: "Coins")

            //this stuff has to do with the purchasing
            BackBtn.removeFromSuperview()
            PurchaseBtn.removeFromSuperview()
            label.removeFromSuperview()
            image.removeFromSuperview()
            return true
        }

        return true
    }

当用户在我的游戏中“购买内容”时,此函数用于从UserDefaults Value“Coins”中扣除硬币(因此名称),我需要一种方法来测试函数deductCoins是返回true还是false取决于用户与项目价格相比的硬币数量(如代码中所述),但我需要测试它是否在函数范围之外返回true或false

修改

问题现在更清楚了(P.S.我在写原文时感到很累)

1 个答案:

答案 0 :(得分:1)

它与具有返回值的任何其他函数的工作方式相同。

let deducted = deductCoints()
if deducted {
    //function returned true
} else {
   //function returned false
}

如果您不想存储返回值,只需检查一次,您甚至不需要将其存储在变量中。

if deductCoins() {
    //function returned true
} else {
   //function returned false
}

有关功能的更多信息,请查看Swift Programming Language Guide - Functions