【发布时间】:2017-10-23 17:38:48
【问题描述】:
让我的一个视图控制器识别文本输入时遇到了一些困难。我收到“无法将'String'类型的值转换为预期的参数类型'Int'”错误。我已经看到一些关于 String/Int 转换的堆栈溢出问题,但似乎没有一个可以解决这种特定情况。
用户需要在文本字段中输入一个数字来设置 pointsNeededText 的值。然而,Goal 类的参数声明该变量是一个 Int。如何让用户在文本字段中输入数字并将其识别为 Int?我将该特定文本字段的键盘类型设置为数字键盘。这甚至是最好的方法吗?是否应该将其设置为文本字段以外的内容?我是这方面的新手,所以任何和所有的帮助都将不胜感激!谢谢!
import UIKit
class AddGoalsTableViewController: UITableViewController {
var goal:Goal?
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "SaveGoal" {
goal = Goal(goalText: nameOfRewardText.text!, pointsToCompleteGoal: pointsNeededText.text!, pointsEarnedTowardsGoal: goalProgressText.text!)
}
}
@IBOutlet var goalTableTitleText : UILabel!
@IBOutlet weak var goalProgressText: UILabel!
@IBOutlet weak var nameOfRewardText: UITextField!
@IBOutlet weak var pointsNeededText: UITextField!
@IBOutlet weak var repeatSwitch: UISwitch!
override func viewDidLoad() {
super.viewDidLoad()
【问题讨论】:
标签: swift uitableview class parameters textfield