2015-09-17 12 views
7

Tôi vừa nâng cấp từ nhanh lên 1.2 đến 2. Im nhận mảng 'không khả dụng: hãy tạo một mảng từ chuỗi lười của bạn: Array (...) và tôi dường như không thể quấn phía trước của tôi xung quanh như thế nào để sửa lỗi nàymảng không có sẵn: hãy xây dựng một mảng từ trình tự lười của bạn: Array (...)

MyVariables.selectedUser = MyVariables.dictionary.keys.array[indexPath.row] as String 

gì nên "MyVariables.dictionary.keys.array [indexPath.row] như string" được thay đổi để?

Trả lời

10

Điều này nói rằng thuộc tính array trên chuỗi lười được trả về bởi keys không còn khả dụng nữa. Trong Swift 2, bạn sử dụng một initializer để chuyển đổi chuỗi lười biếng vào một mảng:

MyVariables.selectedUser = Array(MyVariables.dictionary.keys)[indexPath.row] as String 
+1

LÀM VIỆC !! !!! Cảm ơn bạn rất nhiều –

1

trong Swift1.2, giá trị trên từ điển trả LazyForwardCollection> kiểu đó có bất động sản .array trở Array.

Trong Swift2, giá trị trên từ điển trả về LazyMapCollection < [Khóa: Giá trị], Giá trị> và thuộc tính .array bị hủy vì chúng tôi có thể tạo mảng bằng mảng (dict.values).

Trong trường hợp này bạn có thể sử dụng những dòng

** hãy mảng = Array (arrayLiteral: myVariable .keys)

var selectedUser = [indexPath.row] **

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