2014-06-12 19 views
5

Tôi chỉ viết một số mã từ điển đơn giản nhưBất cứ ai nhìn thấy đầu ra 'một số' trong sân chơi khi sử dụng dictonaries?

var picCard: Dictionary<String, Int> = ["jack": 11, "Queen": 12, "King": 13] 

Nhưng khi tôi truy cập vào một trong những mục trong dict ở sân chơi như

picCard["Jack"] 

Kết quả mang lại cho tôi:

{some 11} 

Được thông qua hướng dẫn lập trình nhanh và không thể tìm hiểu lý do tại sao nó nói 'một số'

Trả lời

0

Có phải "jack" typo của "Jack" không?

Kết quả là chính xác.

Kết quả nhận được giá trị của từ điển có thể là 0, vì vậy loại kết quả là int? (Tùy chọn với int). Để có được giá trị, bạn nên thực hiện bên dưới.

picCard["Jack"]! // -> 11 
4

Đó là các tùy chọn. Tùy chọn được về cơ bản được định nghĩa như thế này:

enum Optional<T> { 
    case None 
    case Some(T) 
    // ... 
} 

Một tùy chọn với giá trị là Some <value>, nilNone:

var foo: String = "blah" // "blah" 
var bar: String? = "bleh" // {Some "bleh"} 

Trong trường hợp của bạn, subscripting một Dictionary trả về một giá trị tùy chọn, bởi vì chìa khóa có thể không hiện hữu.

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