質問: newItem(image as! UIImage) itemsArray.removeLast itemsArray.append(items) //挿入しなおす print(itemsArray.last) //反映される ``` とすると反映されます。 Arrayの要素であるArrayは「参照型ではない」と理解して良いのでしょうか?
回答: *Arrayの要素であるArrayは「参照型ではない」と理解して良いのでしょうか?* はい。もう少し言うと、Arrayの要素であるかどうかにかかわらず、Arrayは参照型ではありません。 さらに若干補足しておくと、SwiftのArrayは、内部表現的には`NSArray`やそれに似た何かへの参照を保持していることもありますが、たとえ多重配列になった場合でも「値型」として振る舞うように巧妙にwrapされています。 Swift3では、さらにObjective-Cのデータ型(参照型)からブリッジされる値型が多数導入されます。(NSDataに対応するData型など。)それらも、たとえArrayの要素になっていても、値型として振る舞います。