如何在 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 【问题描述】:我在ViewController
和Struct
中有两个pickerViews,我在其中创建了一个函数来获取PickerViews 的数据。在PickerView
的didSelectRow
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 语句中获取数据的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 6.1 if/else/for/switch 语句不自动完成(仅限 Swift)
Javascript切换与if ... else if else