简体   繁体   English

如何有条件地将结构分配给变量?

[英]How to conditionally assign a struct to a variable?

The code is pretty self explanatory.该代码非常不言自明。 I am trying to have the dictionary variable be one of 3 structs.我试图让字典变量成为 3 个结构之一。 There is likely a simple solution that escapes me at the moment.目前可能有一个简单的解决方案让我无法理解。

func whichDictionaryToUse(flaps: Int, wind: Int) {

var dictionary = ()
var possibleWindDictionaries = Set<[Double:Double]>()

switch flaps {
case 10: dictionary = CorrectLD10Dict()
case 15: dictionary = CorrectLD15Dict()
case 35: dictionary = CorrectLD35Dict()
default: print("Present alert saying flaps value out of range")
}

switch wind {
  case 10: possibleWindDictionaries = [dictionary.plusTenMinusTwoDic, dictionary.plusTenMinusOneDic, dictionary.plusTenZeroDic, dictionary.plusTenPlusOneDic, dictionary.plusTenPlusTwoDic]
 …
struct CorrectLD10Dict: CorrectLDict {}
struct CorrectLD15Dict: CorrectLDict {}
struct CorrectLD35Dict: CorrectLDict {}

protocol CorrectLDict {}

func whichDictionaryToUse(flaps: Int, wind: Int) {
    
    let dictionary: CorrectLDict
    var possibleWindDictionaries = Set<[Double:Double]>()
    
    switch flaps {
    case 10: dictionary = CorrectLD10Dict()
    case 15: dictionary = CorrectLD15Dict()
    case 35: dictionary = CorrectLD35Dict()
    default: print("Present alert saying flaps value out of range")
    }
    
    switch wind {
      case 10: possibleWindDictionaries = [dictionary.plusTenMinusTwoDic, dictionary.plusTenMinusOneDic, dictionary.plusTenZeroDic, dictionary.plusTenPlusOneDic, dictionary.plusTenPlusTwoDic]
     …
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM