Avatar
omochimetaru 8/19/2020 6:06 AM
struct Entry { var manyCountArray: [Foo] mutating func update() { ... } } var map: [String: Entry] = ... for item in items { guard var entry = map[item.name] else { continue } entry.update(item) map[item.name] = entry } ↑このパターンって素朴な解釈では map[item.name]var entry で 2つ参照があるから entry.update の中で manyCountArray の要素を変更したら配列のコピーが発生しそうだけど、 どうだろう (edited)
6:07 AM
map[item.name]?.update(item) こう書けばmodifyなので参照1つなのが表明できるんだけど。 (edited)