2016-08-10 7 views
0

のキーのデータを表示するUIPickerViewがあります。別の配列を使用して辞書キーを呼び出す

var pokemonData = ["Nidoran", "Clefairy", "Spearow", "Ivysaur", "Gengar", "Arcanine", "Gyarados", "Onix", "Pikachu", "Vaporeon"] 

また、私はピッカーに何かを選択するたびにラベルに示して、私はこのDictionaryがありますが、私はそれへの各キーを呼んで欲しいです。

var typeData = [ 

    "Nidoran" : "Type: Poison", 
    "Clefairy" : "Type: Normal", 
    "Spearow" : "Type: Normal, Flying", 
    "Ivysaur" : "Type: Grass, Poison", 
    "Gengar" : "Type: Ghost, Poison", 
    "Arcanine" : "Type: Fire", 
    "Gyarados" : "Type: Water, Flying", 
    "Onix" : "Type: Rock, Ground", 
    "Pikachu" : "Type: Electric", 
    "Vaporeon" : "Type: Water" 

] 

どうすればいいですか?私は

@IBOutlet weak var typeLabel: UILabel! 
+0

代わりに 'typeData'を使いますが、' pokemonData'を 'typeData.key'に定義することをお勧めします。あなたはポケモンを1つの場所に書き込むだけで、両方が更新されます。 – Alexander

答えて

2

ちょうどtypeData Dictionaryは、選択したキーの値を取得することを使用して...私の第二の標識があるラベル

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 

    pokeLabel.text = pokemonData[row] 

} 

を変更するには、このピッカー関数を使用します。

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
    pokeLabel.text = pokemonData[row] 
    typeLabel.text = typeData[pokemonData[row]] 
} 
+0

ありがとう、それは働いた:) – art3mis

+0

@VeronicaG最新の編集をチェックする私はちょうどラベルが一致していない:) –

+0

@VeronicaGこれがあなたの質問に答えるなら、回答を受け入れてください – Alexander

関連する問題