Как умножить число из выбора в Swift
Я проверил в интернете, но не смог найти ответ на свой вопрос. Извините, если это где-то, что я не нашел.
Так что у меня есть представление выбора с именами, и каждое имя имеет значение. Я хотел бы добавить эти значения в другом расчете. Вот код:
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
1 ответ
Решение
Чтобы получить выбранную строку из средства выбора, необходимо использовать метод selectedRow(компонент inComponent: 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
}