代码之家  ›  专栏  ›  技术社区  ›  E. Huckabee

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

  •  -2
  • E. Huckabee  · 技术社区  · 7 年前

    我有一个功能

    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值“coins”中扣除硬币(因此名称),我需要一种方法来测试该函数根据用户与物品价格(如代码中所述)进行比较的硬币数量来判断deductCoins是否返回true或false,但我需要测试它是否在功能范围外返回true或false

    编辑

    问题现在更清楚了(注意,我写原件时很累)

    1 回复  |  直到 7 年前
        1
  •  1
  •   Dávid Pásztor    7 年前

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

    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