2016-03-29 5 views
0

基本的な質問です。私が持っている場合は、以下:Swift:変数を含むタプルメンバーを呼び出しますか?

let unitPrice = (fighter: 15, cleric: 20, mage: 25) 
var unitType = "cleric" 

は、どのように私はそれがunitPrice.cleric(20)と等しくなるようunitPrice.unitType

を呼ぶのですか?

+0

私が正しい場合は、タプルの中にunitTypeを追加したくありませんか? – ridvankucuk

+0

それは正しいです、私はしません。 "cleric"という用語の代わりに変数を使用してunitPrice.cleric(たとえば)を呼び出したい – mdamkani

+0

そのインデックスから値を抽出してみてください。インデックスはゼロから始まります。 e:g unitPrice.1 –

答えて

2

本当にあなたが探しているのは、タプルではなく、辞書です。 以下を試してください:

// Using an enum instead of a String ensures there are no errors from spelling mistakes. 
enum UnitType { 
    case Fighter 
    case Cleric 
    case Mage 
} 

let unitPrice: [UnitType : Int] = [.Fighter : 15, .Cleric : 20, .Mage : 25] 

// Retrieving the price of a Cleric... 
let type = UnitType.Cleric 
if let price = unitPrice[type] { 
    print(price) // 20 
} 
関連する問題