在视图控制器中传递数字

Car*_*lan -1 ios firebase swift firebase-realtime-database

我有两个视图控制器,我想使用一个按钮将数字从一个视图控制器传递到下一个.但是在我传递了这个数字之后,我希望将这个数字添加到下一个数字中,这样每次按下该按钮时它都会继续添加.到目前为止它只是通过传递字符串,但我无法弄清楚如何将该字符串转换为数字,然后添加该数字.该字符串存储在Firebase中,因为我希望能够更改要添加的数字.

这是我的代码:

带按钮的视图控制器

@IBAction func verifyButton(_ sender: Any) {

    print("Button Clicked")

    let ref3 = Database.database().reference()
    ref3.child("Pay/Ad001").queryOrderedByKey().observeSingleEvent(of: .value, with: { (snapshot) in   

    })

    let myVC = storyboard?.instantiateViewController(withIdentifier: "ProfileViewController") as! ProfileViewController      

    myVC.stringPassed = LabelOne.text!

    navigationController?.pushViewController(myVC, animated: true)
    UserDefaults.standard.setValue(LabelOne.text!, forKey: "stringPassed")
}
Run Code Online (Sandbox Code Playgroud)

第二个视图控制器,我想要添加数字:

override func viewDidLoad() {
    super.viewDidLoad()

    //pass number here and add
    totalEarned.text = stringPassed
    totalEarned!.text=UserDefaults.standard.string(forKey: "stringPassed")
Run Code Online (Sandbox Code Playgroud)

mat*_*att 5

但我无法弄清楚如何将该字符串转换为数字然后添加该数字

整个问题是一个糟糕的气味.您违反了MVC(模型 - 视图 - 控制器).

存储并将号码作为数字传递.数字是模型数据; 它需要是一个数字,因为你以后会添加一些东西.

如果要在界面中显示该数字,则显示视图并且可能需要字符串.因此,视图控制器只会将其转换为字符串,以便在它告诉视图显示内容时显示.