2016-06-28 17 views
6

Tôi đang gặp khó khăn khi xây dựng từ điển này. Mã của tôi trông như thế này:Swift: Loại ngữ cảnh 'AnyObject' không thể được sử dụng với từ điển theo nghĩa đen

var array: [String] = [] 
let params: [String: AnyObject] = [ 
    "presentation": [ 
      "array": array, 
      "current_index": 0 
    ] 
] 

Các lỗi hiển thị trên dòng đầu tiên "presentation": [ với loại theo ngữ cảnh 'AnyObject' không thể được sử dụng với từ điển đen. Tôi đã cố gắng viết lại mảng, khởi tạo các params sau đó thiết lập các giá trị, vv và tôi không thể tìm ra vấn đề này. Bất cứ sự giúp đỡ nào cũng thật sự tuyệt vời!

Cảm ơn bạn trước!

+0

Tùy thuộc vào những gì bạn đang cố gắng để làm với params, tôi tin rằng bạn cũng có thể làm: chúng ta hãy params: [String: Bất kỳ] này sẽ cung cấp cho bạn nhiều hơn tự do như Bất kỳ sẽ bao gồm cả giá trị và loại tham chiếu. Tất nhiên nó luôn luôn tốt hơn cho tôi cụ thể hơn, như được chỉ ra trong câu trả lời được chấp nhận. – ProgrammierTier

Trả lời

3

Hãy thử điều này

let params: [String: [String: AnyObject]]

Và đóng dấu ngoặc kép sau phím current_index.

+0

Lỗi trích dẫn chỉ là lỗi đánh máy khi gõ lại mã vào stackoverflow, nhưng cảm ơn bạn đã làm việc! – Kiley

6

Hãy thử điều này trong nhanh chóng 3 nó hoạt động

var array: [String] = [] 
let params: [String: AnyObject] = [ 
    "presentation": [ 
      "array": array, 
      "current_index": 0 
    ] as AnyObject 
] 
+3

Vui lòng thêm một số giải thích cho mã của nó, điều này cũng sẽ giúp khách truy cập trong tương lai. – kayess

+2

Cú pháp được đặt ở trên nhanh chóng 3 - tên var sẽ có kiểu dữ liệu String - với Anyobject và giá trị của var cũng sẽ có một bí danh - như AnyObject ở cuối –

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