嘿,我是Swift和Xcode的新手,我正在尝试创建一个小应用程序,但我有一个错误,无法解决它。
我试图将一个double从一个视图传递到另一个视图,但它说二进制运算符'+ ='不能应用于'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
}
谢谢你的时间。
您不必将其作为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)"