Попытка передать Doubles из вида в другой, но это не работает - PullRequest
0 голосов
/ 22 февраля 2019

Эй, я новичок в Swift и Xcode, и я пытаюсь сделать небольшое приложение, но у меня есть ошибка, и я не могу ее исправить.

Я пытаюсь убрать двойник изк другому, но он говорит, что бинарный оператор '+ =' не может быть применен к операндам типа 'String' и "int"

Это мое первое представление:

@IBOutlet weak var Rned: UILabel!
var ArgentC: Double = 0

override func viewDidLoad() {
    super.viewDidLoad()

    Rned.text = String(ArgentC)
    Rned.backgroundColor = UIColor(patternImage: UIImage(named: "Rectangle2")!)

}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let SecondViewController = segue.destination as! SacocheVCp2
    SecondViewController.ArgentCV = Rned.text!
}

@IBAction func Reset(_ sender: Any) {
    Rned.text = String(0)
    ArgentC = 0
}
@IBAction func CashButton(_ sender: Any) {
    performSegue(withIdentifier: "segueSac", sender: self)

}

, и это моевторой вид с ошибкой, и ошибка появляется, когда я хочу добавить числа к своим двойникам.

@IBOutlet weak var Rend2Label: UILabel!

var ArgentCV = String()

override func viewDidLoad() {
    super.viewDidLoad()
    Rend2Label.backgroundColor = UIColor(patternImage: UIImage(named: "Label")!)

    Rend2Label.text = ArgentCV


    // Do any additional setup after loading the view.
}

@IBAction func CinqEur(_ sender: Any) {
    ArgentCV += 5     // <== Here
    Rend2Label.text = ArgentCV
}
@IBAction func DixEur(_ sender: Any) {
    ArgentCV += 10    // <== Here
}
@IBAction func VingtEur(_ sender: Any) {
    ArgentCV += 20    // <== Here
}
@IBAction func CinquanteEur(_ sender: Any) {
    ArgentCV += 50    // <== Here
}

Спасибо за ваше время.

1 Ответ

0 голосов
/ 22 февраля 2019

Вам не нужно отправлять его как String, вы можете отправить его как Int

secondViewController.argentCV = Int(rned.text) ?? 0 // ?? to avoid crashes  but make sure it doesn't destroy logic 

Затем внутри SacocheVCp2

var argentCV = 0 // 0 is default

Наконец

argentCV += 5     // <== Here
rend2Label.text = "\(argentCV)"
...