无法分配“ UITextField”类型的值?键入“字符串?”

时间:2018-10-14 19:05:59

标签: ios swift uitextfield uilabel

第一个问题:

månadsSparande是一个数字,例如100。

当我这样做时:

@IBOutlet weak var månadsSparande: UITextField!

@IBAction func beräkna(_ sender: UIButton) {
    totalAvkastning.text = månadsSparande
}

@IBOutlet weak var totalAvkastning: UILabel!

我收到此错误:无法分配'UITextField类型的值?键入“字符串?”

第二个问题:

månadsSparande是一个数字,例如100。 ränta是一个数字,例如2。

当我这样做时:

@IBOutlet weak var månadsSparande: UITextField!
@IBOutlet weak var ränta: UITextField!

@IBAction func beräkna(_ sender: UIButton) {
    var månad = månadsSparande + ränta
}

@IBOutlet weak var totalAvkastning: UILabel!

我收到此错误:二进制运算符'+'无法应用于两个'UITextField?'操作数

1 个答案:

答案 0 :(得分:0)

1-将totalAvkastning.text = månadsSparande替换为totalAvkastning.text = månadsSparande.text。因为您要获取文本字段的文本并将其设置为标签totalAvkastning的文本。

2-将var månad = månadsSparande + ränta替换为var månad = månadsSparande.text! + ränta.text!

UILabel具有text属性,这是您感兴趣的属性。与UITextField相同。

如果您希望文本字段仅与数字一起使用,则将这些文本字段的键盘类型属性设置为Number Pad并执行以下操作:

if let månadsSparandeText = månadsSparande.text, let månadsSparandeInt = Int(månadsSparandeText), let räntaText = ränta.text, let räntaInt = Int(räntaText) {
    var månad = månadsSparandeInt + räntaInt
}
相关问题