Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法分配类型为';UITextField&x27;输入';字符串?';_Ios_Swift_Uitextfield_Uilabel - Fatal编程技术网

Ios 无法分配类型为';UITextField&x27;输入';字符串?';

Ios 无法分配类型为';UITextField&x27;输入';字符串?';,ios,swift,uitextfield,uilabel,Ios,Swift,Uitextfield,Uilabel,第一个问题: månadsparande是一个数字,类似于100 当我这样做时: @IBOutlet weak var månadsSparande: UITextField! @IBAction func beräkna(_ sender: UIButton) { totalAvkastning.text = månadsSparande } @IBOutlet weak var totalAvkastning: UILabel! @IBOutlet weak var månad

第一个问题:

månadsparande是一个数字,类似于100

当我这样做时:

@IBOutlet weak var månadsSparande: UITextField!

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

@IBOutlet weak var totalAvkastning: UILabel!
@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?”的值分配给类型为“String”

第二个问题:

månadsparande是一个数字,类似于100。 ränta是一个数字,类似于2

当我这样做时:

@IBOutlet weak var månadsSparande: UITextField!

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

@IBOutlet weak var totalAvkastning: UILabel!
@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-将:
totalAvkastning.text=månadsparande
替换为:
totalAvkastning.text=månadsparande.text
。因为您希望获取文本字段的文本并将其设置为标签的文本
totalAvkastning

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

UILabel
有一个文本属性,这是您感兴趣的属性。对于
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
}

谢谢你的回答!我忘了告诉我第二道题只需要数字。månadsspalande+ränta应该是一个数字,而不是一个文本。示例用månadsSparande写100,用ränta写2。答案应该是100+2=102,如果我照你说的做,我得到1002和1002不是像100或2这样的数字。它们是
UITextField