如何在 Swift 中的 if/else 语句中获取数据

Posted

技术标签:

【中文标题】如何在 Swift 中的 if/else 语句中获取数据【英文标题】:How To Get The Data Out, Inside if/else Statement in Swift 【发布时间】: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 【参考方案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/… 您的评论与您的​​问题无关。如果需要,请询问新的。如果回答您的问题,请验证这一点

以上是关于如何在 Swift 中的 if/else 语句中获取数据的主要内容,如果未能解决你的问题,请参考以下文章

if else 语句取决于数组元素(swift3)

Xcode 6.1 if/else/for/switch 语句不自动完成(仅限 Swift)

Javascript切换与if ... else if else

如何为 ViewController segues 设置 if else 语句?

在 Spring Boot 中,如何干掉 if else!

如何使用 JavaScript 中的三元运算符更改函数中的 if else 语句?