【发布时间】:2021-09-20 00:02:43
【问题描述】:
我的 firstViewContoller 中有一个文本字段,用户可以在其中输入一些数字。然后在我的 secondViewController 我有一个标签,在该标签中我希望显示用户输入的数字。我已经做到了,但我不知道如何获取用户每次在文本字段中输入的值并将其全部加起来并在标签中显示结果。例如,用户输入 5,所以现在标签显示 5,然后用户输入 20,现在我希望标签将其添加并显示 25,并继续添加用户输入的内容。
// ViewController.swift
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var amountSpent: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
amountSpent.delegate = self
amountSpent.keyboardType = .numberPad }
private func amountSpent(_ amountSpent: UITextField,
shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let invalidCharacters = CharacterSet(charactersIn: "0123456789").inverted
return string.rangeOfCharacter(from: invalidCharacters) == nil }
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let resultViewController = segue.destination as! ResultViewController
resultViewController.recievedInt = amountSpent.text!
}
@IBAction func buttonPressed(_ sender: Any) {
self.performSegue(withIdentifier: "goToResult", sender: nil) } }
// ResultViewController.swift
import UIKit
class ResultViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var totalAmount: UILabel!
var recievedInt = ""
override func viewDidLoad() {
super.viewDidLoad()
totalAmount.text = recievedInt
}
}
【问题讨论】: