Как правильно передать измененное значение переменной? - PullRequest
0 голосов
/ 27 февраля 2019

Так что это мой код, как вы видите, я пытаюсь изменить значение activitylevel, если изображение кнопки одинаковое, все работает нормально и меняет значение, но когда я пытаюсь использовать еговниз в функции CaloriesCalculator при let tde = activity * bmr активность по-прежнему равна 0.0.Я знаю, что могу сохранить его с помощью UserDefaults, но мне это не кажется правильным.Любая помощь будет высоко ценится.

class MenuController: UIViewController {

    var calGoal: Double = 0.0
    var activitylevel: Double = 0.0

    @IBOutlet weak var Weight: UITextField!
    @IBOutlet weak var Height: UITextField!
    @IBOutlet weak var Age: UITextField!

    @IBAction func ActivityLevelButton(_ sender: UIButton) {

        if let ButtonImage = LightlyActive.image(for: .normal),
            let Image = UIImage(named: "LightlyActiveGreen"),
            ButtonImage.pngData() == Image.pngData()
        {
            activitylevel = 1.375
            print(activitylevel)


        }; if let ButtonImage = Active.image(for: .normal),
            let Image = UIImage(named: "ActiveGreen"),
            ButtonImage.pngData() == Image.pngData()  {

            activitylevel = 1.55
            print(activitylevel)

        }; if let ButtonImage = VeryActive.image(for: .normal),
            let Image = UIImage(named: "VeryActiveGreen"),
            ButtonImage.pngData() == Image.pngData()  {

            activitylevel = 1.755

            print(activitylevel)

        }

    }

    @IBAction func CaloriesCalculator(_ sender: UIButton) {



        let w = Double(Weight.text!) ?? 0
        let h = Double(Height.text!)!  * 0.393701
        let a = Double(Age.text!) ?? 0
        let bmr = 66 + (6.23 * w) + (12.7 * h) - (6.8 * a)
        let activity = activitylevel
        let tde = activity * bmr
        calGoal = tde
        print(activitylevel)

}
...