同时检查pickerview值swift 3

时间:2017-01-31 20:19:01

标签: ios swift3 uipickerview xcode8

大家好我有一个问题我想同时检查我的4 pickerView的值并更改已连接的标签的文本@IBOutlet var numeroSpire: UILabel!

这是我的didSelectRow方法

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

    var elementoSelezionato: Int = pickerView.selectedRow(inComponent: 0)
    var filoSelezionato: String = DataManager.shared.storageFili[elementoSelezionato].nome
    var sizeSelezionato: String = DataManager.shared.storageSize[elementoSelezionato].grandezzaFilo
    var diametroSelezionato: String = DataManager.shared.storageDiametro[elementoSelezionato].diametroResistenza
    var ohmSelezionato: String = DataManager.shared.storageOhm[elementoSelezionato].ohmResistenza

    if filoSelezionato == "Filo0" && sizeSelezionato == "Grandezza2" && diametroSelezionato == "Ohm2" && ohmSelezionato == "Diametro2" {

        numeroSpire.text = "8 Spire"

    } else {
        numeroSpire.text = "Completa la selezione"
    }

}

但是,如果我在iPhone模拟器上运行该应用程序并且我选择我在代码中写入的值不起作用,标签将更改为“Completa la selezione”,即使该值与我的代码相同。 谁能帮我??

编辑:DataManager的代码

class DataManager: NSObject {

static let shared = DataManager()

var storageFili :  [FiliModel] = []
var storageSize :  [FiloSizeModel] = []
var storageOhm :  [OhmResistenzaModel] = []
var storageDiametro :  [DiametroResistenza] = []

func creaDatiFili() {
    let nichelCromo = FiliModel(nome: "Filo0")
    let ni200 = FiliModel(nome: "Filo1")
    let ss = FiliModel(nome: "Filo2")

    storageFili = [nichelCromo, ni200, ss]
}

func creaDatiSize() {
    let size006 = FiloSizeModel(grandezzaFilo: "Grandezza0")
    let size007 = FiloSizeModel(grandezzaFilo: "Grandezza1")
    let size008 = FiloSizeModel(grandezzaFilo: "Grandezza2")

    storageSize = [size006, size007, size008]
}

func creaDatiOhm() {
    let ohm006 = OhmResistenzaModel(ohmResistenza: "Ohm0")
    let ohm007 = OhmResistenzaModel(ohmResistenza: "Ohm1")
    let ohm008 = OhmResistenzaModel(ohmResistenza: "Ohm2")

    storageOhm = [ohm006, ohm007, ohm008]
}

func creaDatiDiametro() {

    let diam30 = DiametroResistenza(diametroResistenza: "Diametro0")
    let diam35 = DiametroResistenza(diametroResistenza: "Diametro1")
    let diam20 = DiametroResistenza(diametroResistenza: "Diametro2")

    storageDiametro = [diam30, diam35, diam20]
}

}

0 个答案:

没有答案