Свифт словари в классе
У меня проблемы с массивом словарей внутри классов в 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>]()