[英]How do I programmatically populate switch case values?
我正在通過JSON為我的case語句獲取允許的系統代碼列表。 它們以類似於以下內容的字符串形式引入:
let validCodesFromJson:String = "001, 002, 003, 004, 005, 007, 008, 090, 091, 092, 096"
然后,我將該字符串轉換為以下數組:
let validCodes:NSArray = validCodesFromJson.componentsSeparatedByString(", ")
我需要將此代碼數組放入switch語句的第一種情況。
switch responseArray[selectedResponseTableRow]["code"]! {
case validCodes:
successfulPostAnimation()
case "006":
showAlertWindow("Alert", message: "Code was 006", buttonText: "OK")
default:
showAlertWindow("Alert", message: "Code was not in the list", buttonText: "OK")
}
如果代碼在其他所有情況下都使用默認值“ 006”,則switch語句將起作用。 如果我在第一種情況下定義所有代碼而不使用數組,則效果很好。 但是我需要以編程方式為此項目執行此操作。
您可以使用guard-clause
來增加每種case
表達式的復雜性。 例如:
var validCodes = ["001", "002", "003"]
var code = "002"
switch code {
case let value where (contains(validCodes, value)):
"Valid code"
case "006":
"Bad code"
default:
"Default"
}
如果您在操場上跑步,您會看到"Valid code"
。
如果您有興趣了解這些模式的語法/語法,可以使用Swift編程語言:語句
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.