在 UITextField 操作中将 UITextField 字符串转换为 Double
Posted
技术标签:
【中文标题】在 UITextField 操作中将 UITextField 字符串转换为 Double【英文标题】:Converting a UITextField String to a Double inside a UITextField Action 【发布时间】:2015-11-24 18:17:05 【问题描述】:我无法在 UITextField 属性中将 hoursWorked
转换为 double 我不断收到“无法使用类型为 '(UITextField!)' 的参数列表调用类型为 'Double' 的初始化程序”
@IBOutlet weak var hoursWorked: UITextField!
@IBAction func onEditingChange(sender: UITextField)
var hoursWorkedAmount = Double(hoursWorked)
var salary = hoursWorkedAmount! * 25
print(salary)
我尝试在操场上预先测试所有内容,以便更好地了解我做错了什么,但我不断收到错误消息。
【问题讨论】:
【参考方案1】:您需要获取文本字段的文本,而不是文本字段本身。
变化:
var hoursWorkedAmount = Double(hoursWorked)
到:
var hoursWorkedAmount = Double(hoursWorked.text)
更好的是,将其更改为:
var hoursWorkedAmount = Double(sender.text)
这样,您的方法将作用于发送事件的实际文本字段。
注意:我的 Swift 语言并不流利。在text
之后可能需要!
。
【讨论】:
UITextField's text property 的类型为String?
,因此您确实需要!
,除非您使用可选绑定。
我认为这解决了我的问题,但它一直提到“变量 'hoursWorkedAmount' 从未发生变异;考虑更改为 'let' 常量”
然后将变量改成使用let
。以上是关于在 UITextField 操作中将 UITextField 字符串转换为 Double的主要内容,如果未能解决你的问题,请参考以下文章
firstRect(for:) 在 UITextField 中返回错误值
UITextField PlaceHolder 颜色改变 Monotouch