2014-12-16 21 views

cevap

16

olsun Eğer bir Swift Dictionary varsa ve sen bunu yapabilirsin tam olarak 1 anahtar/değer çifti var biliyorum:

var dict = ["aaa":"bbb"] 
let v = dict.values.first! 

1 anahtar/değer çiftinden fazlaysa, sözlükler sırasız olduğundan "ilk" değer yoktur. Anahtar/değer çiftleriniz yoksa, bunlar çökecektir. ,

let v = dict.allValues[0] as! String 
+0

çalışıyor, teşekkürler! – PatrickFeng

5

Cast zaten değil biriyse. Sonra, bir dizi için döküm values özelliğini kullanmak ve İndeks 0.

let v = Array(myDictionary.values)[0] 
+1

uyardı: Bir NSDictionary varsa

, sen allValues.first! kullanabilirsiniz, ancak değer bir AnyObject olacağından sonucu döküm gerekecek:

var dict:NSDictionary = ["aaa":"bbb"] let v = dict.allValues.first! as! String 

veya Ancak, birden fazla anahtar/değer çiftine sahipseniz, "ilk değer" yoktur - sözlük sıralanmamıştır. Bu hile sadece “sayının” 1 olduğunu bildiğiniz için çalışır. – matt

+5

'let v = dict.values.first!' – vacawama

+0

@vacawama Devam edin ve bunu bir cevap olarak verin! Mükemmel. – matt