Доступ к значениям внутри карты в Котлине - PullRequest
0 голосов
/ 01 мая 2018

Мне трудно получить доступ к значениям в этом словаре / карте, которую я построил внутри этого объекта животных:

object Animals {
var animalInfo = mutableMapOf<String,Any>()
init {
    animalInfo["Animal"] = mutableListOf("description" to "Large Mammal", "name" to "Elephant", "highlights" to arrayListOf("Long Trunk", "Flappy Ears", "Ivory Tusks"))
    }
}    

Swift - мой первый язык. Я пытался получить доступ к таким значениям, но без использования дополнительной привязки:

 val dataDict = Animals.animalInfo
        val animal = dataDict["Animal"]
        println(animal["description"])
        println(animal["name"])
        println(animal["highLights"])

Все строки печати имеют неразрешенную опорную ошибку. Как правильно получить доступ к значениям в mutableMapOf ()?

1 Ответ

0 голосов
/ 01 мая 2018

Изменить эту строку:

var animalInfo = mutableMapOf<String,Any>()

в

var animalInfo = mutableMapOf<String,MutableMap<String, out Any>>()

и изменить

val module = dataDict["Animal"]

в

val module = dataDict["Animal"]!!

и изменение mutableListOf на mutableMapOf должно решить эту проблему (всего 3 изменения).

...