2016-03-29 25 views
0

Temel soru. Ben varsa aşağıdaki:Swift: değişken ile tuple üye çağırın!

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

Nasıl bu unitPrice.cleric (20) eşittir Yani unitPrice.unitType

denir?

+0

i sağ size tanımlama grubu sağ iç UNITTYPE eklemek istemiyorsanız am mı? – ridvankucuk

+0

Bu doğru değil. Ben unitPrice.cleric (örneğin) "cleric" terimi yerine bir değişken kullanarak çağırmak istiyorum – mdamkani

+0

Dizinden değer çıkarmayı deneyin. Dizin sıfırdan başlar. e: g unitPrice.1 –

cevap

2

Gerçekten aradığınız şey bir sözlük değil, bir tuple gibi geliyor. deneyin:

// 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 
}