首页 > 解决方案 > 我需要帮助将 UITextField 从字符串转换为 Int

问题描述

我做了一个简单的项目,它将数据从一个视图控制器发送到另一个视图控制器。

它适用于字符串,但我现在想更改代码,以便它可以将 UITextField 答案乘以 10 并将其输出到 Second ViewController 中的标签。我知道我只需要将字符串更改为 Int 但我尝试了很多东西但没有任何效果。

我知道必须有一些我忽略的简单方法。

任何帮助表示赞赏。

视图控制器

import UIKit

class ViewController: UIViewController {
    
    
    @IBOutlet var EnterNumber: UITextField!
        
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        EnterNumber.delegate = self
        
        
    }
    
        
        
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let VC2 : ViewController2 = segue.destination as! ViewController2
        VC2.LabelText = EnterNumber.text!
    }


}

extension ViewController : UITextFieldDelegate{
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return true
    }
}

视图控制器 2

import UIKit

class ViewController2: UIViewController {
    
    @IBOutlet var Label: UILabel!
    
    var LabelText = String()
    
    
    
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        
        Label.text = LabelText
    }
    


}

视图控制器 1 和 2

标签: swiftxcode

解决方案


尝试这个:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let VC2: ViewController2 = segue.destination as! ViewController2
    if let integerValue = Int(EnterNumber.text!) {
        VC2.LabelText = "\(integerValue * 10)"
    } else {
        print("\(EnterNumber.text!) could not be converted to an integer.")
    }
}

推荐阅读