2014-06-29 16 views
6

tôi có thể tạo ra một NSDictionarySet đối tượng để trống NSDictionary trong Swift

var namesDictionary=Dictionary<String,String>() 
    namesDictionary["Jacob"] = "Marry" 

Nhưng, khi tôi tạo một từ điển rỗng như mã dưới đây, dòng 1 i okie, nhưng dòng 2 (thêm giá trị) ném một lỗi.

var namesDictionary =[:] 
    namesDictionary["Jacob"] = "Marry" 

Lỗi là "Không thể gán cho kết quả của biểu thức này". Có cách nào khác để gán các giá trị không.

Trả lời

13

Có vẻ như đó là vấn đề với việc diễn giải nhanh kiểu từ điển của bạn. Thử nhập từ điển trống của bạn một cách rõ ràng.

var namesDictionary: Dictionary<String, String> = [:] 
namesDictionary["Jacob"] = "Marry" 

Tôi nghĩ rằng sử dụng tốt hơn cho [:] là để làm trống từ điển đã được xác định. Nếu bạn thêm dòng thứ ba namesDictionary = [:], bạn sẽ có thể gọi lại namesDictionary["Jacob"] = "Marry" vì trình biên dịch biết loại từ điển đó là từ khai báo nội bộ.

+0

Sau đó, nó phải có lỗi trong dòng đầu tiên. – andyPaul

+1

Dòng đầu tiên là tốt. Nó tạo ra một từ điển trống, nhưng các loại khóa/giá trị không phải là chuỗi. Từ điển tại thời điểm này khá vô ích vì nó sẽ không chấp nhận bất kỳ cặp giá trị khóa nào – connor

+0

Okie, sự khác nhau giữa var namesDictionary = Dictionary () và var namesDictionary: Dictionary = [:] – andyPaul

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