2

私は以前にこれに似た質問をしましたが、答えがうまくいかないようです。

Settings という辞書があります。

var settings = 文字列: 任意

これは、テキスト ファイルを読み取ることによって入力されます - すべて正常に動作します

実行するprintln(settings)と、必要に応じて塗りつぶされた辞書が返されます。

[monsterRate: 1.0、monsterMinSpeed: 10.0、weaponPickupRate: 10.0、weaponPickupAmount: 50.0、goldPerMonster: 10.0、totalMonsters: 10.0、LevelNum: 1.0、monsterMaxSpeed: 15.0]

実行するとOptional("10.0")println(settings["monsterMinSpeed"])が返されます

ただし、変数を辞書が保持する値に設定しようとすると、機能しません。

    monsterMinSpeed = (settings["monsterMinSpeed"] as? Double) ?? 0.0
    monsterMaxSpeed = (settings["monsterMaxSpeed"] as? Double) ?? 0.0
    monsterRate = (settings["monsterRate"] as? Double) ?? 0.0
    weaponPickupAmount = (settings["weaponPickupAmount"] as? Double) ?? 0.0
    weaponPickupKills = (settings["weaponPickupKills"] as? Double) ?? 0.0
    goldPerMonster = (settings["goldPerMonster"] as? Double) ?? 0.0

辞書には値がありますが、提供しているキーが存在しないかのように常に 0.0 を使用します - nil を返すため、変数を 0.0 に設定します

誰か助けてくれませんか?

4

1 に答える 1