我问这个是出于好奇,想了解斯威夫特。
我正在尝试更新位于另一个类中的数组中的对象。
我有两个箱子(另一个可以用,另一个不行)
工作溶液:
Data.tripModels[0].title = "lol"
不工作:
var trip = Data.tripModels[0]
trip.title = "lol"
为了帮助您理解:
Data = the other class
tripModels = the array in Data class, holding the objects
title = a property of tripModel in tripModels array
为什么是2。不工作?:(
最佳答案
2号。不起作用,因为由于值语义(tripmodel的类型是struct),行
var trip = Data.tripModels[0]
将数组中项的副本分配给
trip
并trip.title = "lol"
更新副本,但不更新数组中的项。
请阅读Swift语言指南中的Structures and Enumerations are Value Types