У меня довольно сложная структура данных в моем приложении, которую мне нужно манипулировать. Я пытаюсь отслеживать, сколько типов ошибок у игрока есть в его саду. Существует десять типов ошибок, каждый из которых имеет десять шаблонов, каждый из которых имеет десять цветов. Таким образом, есть 1000 уникальных ошибок, и я хочу отслеживать, сколько из каждого из этих типов имеет игрок. Вложенный словарь выглядит так:
var colorsDict: [String : Int]
var patternsDict: [String : Any] // [String : colorsDict]
var bugsDict: [String : Any] // [String : patternsDict]
Я не получаю никаких ошибок или жалоб с помощью этого синтаксиса.
Если я хочу увеличить количество сбоев в игре, сделав это:
bugs["ladybug"]["spotted"]["red"]++
Я получаю эту ошибку: Строка не конвертируется в 'DictionaryIndex < String, Any > ' с ошибкой моркови в первой строке.
Другой подобный пост предложил использовать "как Any?". в коде, но в OP этого сообщения был только один словарь, поэтому он мог легко справиться с: dict [ "string" ] как Any?...
Я не уверен, как это сделать с помощью многоуровневого словаря. Любая помощь будет оценена.