如何在swift中乘以pickerview中的数字
问题描述:
我在网上查了一下,但找不到我问题的答案。对不起,如果它是我找不到的地方。如何在swift中乘以pickerview中的数字
所以我有一个选择器视图的名称,每个名称都有一个值。我想在另一个计算中添加这些值。 下面是代码:
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet var PickerPres: UIPickerView!
@IBOutlet var LabelPres: UILabel!
let PVpres:[(name: String, numb: Double)] = [("Blue",1), ("Red",2), ("Green",3)]
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return PVpres[row].name
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return PVpres.count
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
LabelPres.text = PVpres[row].name
}
我也
var color = Float (ColorTextField.text!)!
var item = Float (ItemTextField.text!)!
var source = Float (SourceTextField.text!)!
而且我想补充的麻木分配到项目中pickerView这样计算:
Total = color * PVpres[0].numb/item* source
但没有工作
谢谢
JC
答
要从选取器中获取选定的行,您必须使用selectedRow(inComponent component:Int)方法。你也应该检查是否有任何行被选中。但是此代码假设您的计算基于简单的数组索引
let selectedRow = PickerPres.selectedRow(inComponent: 0)
//check if any row is actually selected. if nothing is selected it will be -1
if selectedRow != -1 {
Total = (color * PVpres[selectedRow].numb)/item* source
}
如果您要编辑问题以描述* how *它无效,那将会很有帮助。是否有错误讯息?结果与您预期的不同?什么是实际问题? – Robert
嗨,罗伯特!感谢您的回复 – John
我还没有很好地描述对不起。它是Total =(color * PVpres [0] .num)/ item * source并且没关系。但如果我想添加任何行选择计算我试图把PVpres [行] .numb但有消息“未解决的标识符行” – John