Свифт словари в классе

У меня проблемы с массивом словарей внутри классов в Swift. Мой код не работает в классе или структуре, но он работает снаружи.

var data = [Dictionary<Int,String>]()
data.append([123: "test"])

println(data[0])
// Working OK!

class DTest {
    var data = [[Dictionary<Int,String>]]()

    func check() {
        data.append([123: "test"])
        // Error: Cannot invoke "append" with an argument list of type '([Int : String])'
        data += [123: "test"]
        // Error: Binary operator += can't be applied to operands of type ...
    }
}

1 ответ

Решение

Это потому, что вы объявили data в классе как массив массивов словарей:

Неправильно:

var data = [[Dictionary<Int,String>]]()

Штраф:

var data = [Dictionary<Int,String>]()
Другие вопросы по тегам