我正在寫一個快速遊戲,並且想寫一個短期,中期和長期遊戲的目標目標列表。這只是一個線性的現金目標清單。Swift - 獲取字典值,其中鍵是一個枚舉
enum GameLength : Int {
case ShortGame
case MediumGame
case LongGame
static let allValues = [
GameLength.ShortGame.rawValue,
GameLength.MediumGame.rawValue,
GameLength.LongGame.rawValue,
]
}
struct GameGoal {
// I think this should be a set as the game lengths cannot repeat
var cashGoals = [ [GameLength.ShortGame: 100] ,
[GameLength.MediumGame: 200] ,
[GameLength.LongGame: 300] ]
func target(gameLength:GameLength) {
var result = cashGoals[gameLength].first
print (result)
}
}
var gameLength:GameLength = .MediumGame
var gameGoal = GameGoal().target(gameLength)
print (gameGoal)
這裏的問題是,我似乎無法現在訪問給定目標的值。
理想情況下,我想將gameLength枚舉映射爲一個值。
他們分開的原因是因爲我需要稍後對現金目標應用加權。
也許我過了複雜的問題。
但無論如何;
問題>如何查閱字典,其中的關鍵是一個枚舉,而只能得到
這是OP代碼,不是我的。他沒有要求樣式提示。 – Bek
@Bek無論如何,朋友們不要讓朋友們在Swift 3中寫Swift 2代碼3 – Alexander
當時的評論屬於OPs post。 – Bek