2014-12-16 25 views

Trả lời

16

Nếu bạn có một Swift Dictionary và bạn biết bạn có chính xác 1 cặp khoá/giá trị mà bạn có thể làm điều này:

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

Nếu bạn có nhiều hơn 1 cặp khóa/giá trị thì không có giá trị "đầu tiên" vì từ điển không có thứ tự. Nếu bạn không có cặp khóa/giá trị nào sẽ bị lỗi.

Nếu bạn có một NSDictionary, bạn có thể sử dụng allValues.first!, nhưng bạn sẽ phải đúc kết quả vì giá trị sẽ là một AnyObject:

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

hay:

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

nó hoạt động, cảm ơn! – PatrickFeng

5

Truyền sang từ điển Swift nếu chưa có. Sau đó sử dụng values tài sản, đúc đến một mảng, và nhận được chỉ số 0.

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

Được cảnh báo, tuy nhiên, nếu bạn có nhiều hơn một cặp khóa-giá trị, không có "giá trị đầu tiên" - từ điển không có thứ tự. Thủ thuật này chỉ hoạt động vì bạn biết chắc chắn rằng 'count' là 1. – matt

+5

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

+0

@vacawama Hãy tiếp tục và đưa ra câu trả lời! Xuất sắc. – matt

Các vấn đề liên quan