Ios UITextfield作为浮点通过segue传递到UILabel

Ios UITextfield作为浮点通过segue传递到UILabel,ios,swift,segue,Ios,Swift,Segue,我是swift新手,希望用户使用UITextfield的十进制键盘输入一个数字,输入一个浮点,然后使用UILabel将该浮点传递给另一个视图控制器。除了将浮点传递给另一个视图控制器上的UILabel之外,其他所有操作都正常工作。我得到这个错误 “无法将“UITextField”类型的值分配给“UILabel”类型” 导入UIKit 类SelectAttributesViewController:UIViewController、UIPickerViewDeleteGate、UIPickerVie

我是swift新手,希望用户使用UITextfield的十进制键盘输入一个数字,输入一个浮点,然后使用UILabel将该浮点传递给另一个视图控制器。除了将浮点传递给另一个视图控制器上的UILabel之外,其他所有操作都正常工作。我得到这个错误

“无法将“UITextField”类型的值分配给“UILabel”类型”

导入UIKit
类SelectAttributesViewController:UIViewController、UIPickerViewDeleteGate、UIPickerViewDataSource、UIExtFieldDelegate{
@IBVAR kitPickerView:UIPickerView!
@IBOutlet弱var反应体积标签:UILabel!
@IBOutlet弱var numberOfSampleTextField:UITextField!
@IBOutlet弱var VolumeOffemplatedNatextField:UITextField!
@iBlider:UISlider!
@IBOUTLE弱var计算按钮:UIButton!
让套件=[“套件1”、“套件2”]
设pArray=[10,20,50]
重写func viewDidLoad(){
super.viewDidLoad()
self.numberOfSampleTextField.delegate=self
self.volumeOfTemplateDNATextField.delegate=self
kitPickerView.dataSource=self
kitPickerView.delegate=self
让tap=uitappesturerecognizer(目标:self.view,操作:#选择器(UIView.endEditing(:))
view.AddGestureRecognitor(点击)
}
func pSliderInterval(){
slider.minimumValue=0
slider.maximumValue=浮动(pArray.count)
slider.isContinuous=false
}
@iAction func reactionVolumeSlider(uu发送方:UISlider){
打印(整数(发送方值))
让currentValue=pArray[Int(sender.value)]
reactionVolumeLabel.text=“\(当前值)”
}
func numberOfComponents(在pickerView:UIPickerView中)->Int{
返回1
}
func pickerView(pickerView:UIPickerView,numberOfRowsInComponent:Int)->Int{
返回套件。计数
}
func pickerView(pickerView:UIPickerView,didSelectRow行:Int,不完整组件:Int){
如果行==0{打印(套件[行])
}如果行==1,则为else{
createAlert(标题:“工具包不可用”,消息:“将很快添加更多工具包!”)
calculateButton.isEnabled=false
}
}
func pickerView(pickerView:UIPickerView,titleForRow行:Int,forComponent组件:Int)->String{
返回套件[世界其他地区]
}
func textField(textField:UITextField,shouldChangeCharacters范围:NSRange,replacementString:string)->Bool{
guard let oldText=textField.text,let r=Range(Range,in:oldText)else{
返回真值
}
让newText=oldText.replacingCharacters(在:r中,带:字符串)
设isNumeric=newText.isEmpty | |(Double(newText)!=nil)
设numberOfDots=newText.components(以“.”分隔)。计数-1
设numberOfDecimalDigits:Int
如果let dotIndex=newText.firstIndex(of:“.”){
numberOfDecimalDigits=newText.distance(从:dotIndex到:newText.endIndex)-1
}否则{
numberOfDecimalDigits=0
}
返回您需要的数值和数值点

let masterMix = segue.destination as! MasterMixTableViewController
masterMix.loadViewIfNeeded()
masterMix.waterVolumeLabel!.text = numberOfSampleTextField!.text

错误表明您正在将
UITextField
分配给
UILabel
。但必须将
textfield.text
分配给
label.text

let textField = UITextField()
let label = UILabel()
label.text = textField.text

在何处将浮点传递给UILabel()?内部准备Segue这是一种糟糕的做法。您不应该修改另一个视图控制器的视图。相反,您应该向目标视图控制器添加一个字符串属性,并在
准备(for:sender:)
中设置该属性。然后在目标视图控制器的
视图中将出现(动画:)
它应该将字符串属性复制到目标标签中。
let textField = UITextField()
let label = UILabel()
label.text = textField.text