Так что это мой код, как вы видите, я пытаюсь изменить значение 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)
}