【问题标题】:How To Get The Data Out, Inside if/else Statement in Swift如何在 Swift 中的 if/else 语句中获取数据
【发布时间】:2020-11-22 08:23:06
【问题描述】:

我在ViewControllerStruct 中有两个pickerViews,我在其中创建了一个函数来获取PickerViews 的数据。在PickerViewdidSelectRow func 中,我编写了以下代码。

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        if pickerView == fromPickerViewRolled {
            let optionArray1 = currencyManager.currencyArrayOption1[row]
        }
        else if pickerView == toPickerViewRolled {
    
            let optionArray2 = currencyManager.currencyArrayOption2[row]   
        }
    }

如何在 if/else 之外获取 optionArray1 和 ..Array2 的数据,以便在函数中使用。任何帮助,将不胜感激。期待答案。

【问题讨论】:

  • 你能说明你想如何使用它吗?
  • 您是否有超过 2 个选择器视图?如果不是,您可以使用三元运算符let optionArray = pickerView == fromPickerViewRolled ? currencyManager.currencyArrayOption1[row] : currencyManager.currencyArrayOption2[row],然后在函数的其余代码中使用optionArray
  • 我只有两个选择器视图,你能不能像我一样写成代码格式。
  • 用我的代码替换你的 if/else

标签: arrays swift if-statement view viewcontroller


【解决方案1】:

您可以在 if 语句块之外声明一个数组。像这样:

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    var currencyArray: [YourType] = []
    if pickerView == fromPickerViewRolled {
        currencyArray = currencyManager.currencyArrayOption1[row]
    }
    else if pickerView == toPickerViewRolled {
        currencyArray = currencyManager.currencyArrayOption2[row]
    }
    dump(currencyArray)
}

【讨论】:

  • 我正在制作一个有 2 个选择器视图的应用程序,它们有 2 个带有货币的数组,我有两个带有货币的数组,在我将值传递给 getFun(currency1 :currencyArray, currency2: currencyArray),当我打印 URL 时,它给了我相同的值,例如:EUR_EUR。您能否请您帮助如何分别获取该值,以便我可以在这样的 url 字符串中使用 free.currconv.com/api/v7/…
  • 您的评论与您的​​问题无关。如果需要,请询问新的。如果回答您的问题,请验证这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多