ios - 如何将变量从 NSNumberFormatter 传输到另一个 ViewController?

标签 ios swift variables segue number-formatting

我有一个函数 NSNumberFormatter:

@objc func doneClicked() {
                view.endEditing(true)


                let formatter = NumberFormatter()
                formatter.locale = Locale.current
                formatter.numberStyle = .decimal
                formatter.minimumSignificantDigits = 6

                if let text = textField.text, let number = formatter.number(from: text) {

                    year = number.doubleValue

                    mounthresult = year * 12

                    mounthLabel.text = formatter.string(from: NSDecimalNumber(value: year).multiplying(by: 12))

                }
    }

我需要在另一个 ViewController 中处理到 Label 的数据传输。

制作一个prepare forSegue func:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "yearmounth" {
        let mounthController = segue.destination as! MounthsViewController

        mounthController.mounth = mounthresult
}

在这种情况下,传输的 var 没有格式化。并且显示没有本地化。

mounthresult = formatter.number(from: mounthLabel.text!) as! Double

这种情况也没有提供任何信息......它已传输但没有格式化程序显示。

我还尝试将 NumberFormatter 插入另一个 Controller 的 ViewDidLoad。但是在这种情况下 NumberFormatter 没有加载到 ViewDidLoad...

谁知道解决方法?

最佳答案

您可以简单地传递格式化文本:

   override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "yearmounth" {
        let mounthController = segue.destination as! MounthsViewController

        mounthController.mounth = mounthLabel.text
   }

或者将数字存储在变量中并以类似方式传递。

关于ios - 如何将变量从 NSNumberFormatter 传输到另一个 ViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48460597/

相关文章:

ios - 如何对复选框按钮进行 UI 测试

c++ - 我可以在不结束 block 的情况下终止 C++ 变量的范围吗?

javascript - 如何在 href 中填充变量

MySQL如何设置addtime的变量结果

ios - 创建像辅助触摸一样的控制

iOS 库找不到标题

ios - 允许在一个部分中仅检查一个 UITableViewCell

ios - 动画 barTintColor 推送 segue

swift - 如何在SpriteKit和Swift中制作具有效果的按钮?

ios - 使用参数初始化 UIButton