Я пытаюсь захватить int из вложенного словаря. Мой код выглядит следующим образомПочему мой словарь продолжает возвращаться 0? Swift
convenience init(fromDict dict: [String:Any]) {
let dfs = dict["forms"] as? [[String :[String:Any]]]
self.init(
atk: dfs?[0]["stats"]?["atk"] as? Int ?? 0,
def: dfs?[0]["stats"]?["def"] as? Int ?? 0,
)
}
Однако результат продолжает вращаться до 0. Я знаю наверняка, что это правильный путь к файлу, так почему она не отображается правильное число? Ниже находится путь, из которого я берусь. Любая помощь в этом вопросе очень ценится.
<array>
<dict>
<key>forms</key>
<array>
<dict>
<key>stats</key>
<dict>
<key>atk</key>
<integer>49</integer>
<key>def</key>
<integer>49</integer>
</dict>
</dict>
</array>
</dict>
<array/>
Использование отладчика и просмотр значений 'dfs' и' dfs [0] 'и' dfs [0] ["stats "]' и т. д. – rmaddy
Вы также можете добавить 'print (dict)' в свой init. Он должен печатать '[" forms ": [[" stats ": [" def ": 49," atk ": 49]]]]'. – vacawama
"форма": <__ NSCFArray 0x170266400> ( { статистика = { ака = 49; DEF = 49; }; – user4938361