我问这个是出于好奇,想了解斯威夫特。
我正在尝试更新位于另一个类中的数组中的对象。
我有两个箱子(另一个可以用,另一个不行)
工作溶液:

    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

10-08 13:03