GKGameModel
内部状態を s の配列にa
格納する と、 s からs の配列にマップCard
する辞書があります。GameplayKit では、この内部状態を にコピーする必要があります。b
Int
Card
setGameModel:
次のコードは、配列を単にコピーし、ディクショナリを「ディープ コピー」するためのものです。FWIK Card
s 自体は変更されないため、これで十分です。
var a: [Card]
var b: [Int: [Card]]
func setGameModel(gameModel: GKGameModel) {
let otherGameModel = gameModel as! GameModel
a = otherGameModel.a
b = otherGameModel.b.map { (i: Int, cards: [Card]) in (i, cards) }
}
ただし、これにより、「ディープ コピー」を試行する行で次の構文エラーが発生します。
タイプ '[(Int, [Card])]' の値をタイプ '[Int, [Card]]' の値に割り当てることはできません。
私は何を間違っていますか?