swift - 我需要帮助将 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
}
}
解决方案
尝试这个:
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.")
}
}
推荐阅读
- java - IntelliJ 2020.2.4 中未导入 Maven 依赖项
- spring - Spring Boot:尝试从服务调用服务时连接超时
- python - 检查numpy数组中是否只出现一次最大值
- java - Spring Boot 层架构休息验证
- javascript - 我可以使用 Nodejs 制作网站跟踪器吗?
- mysql - MYSQL 存储过程 - 连续行值(续)
- python - 对 csv 文件返回的每对元组求和
- java - ResourceLocation 抛出 FileNotFoundException Minecraft Forge 1.12.2
- laravel - Laravel 政策总是返回 403 未授权
- python - 获取非托管 DLL 路径以独立于版本加载 Python