出于好奇,我要求这样做是为了了解Swift。
我正在尝试更新位于另一个类中的数组中的对象。
我有两种情况(另一种有效,另一种无效)
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.不起作用? :(
答案 0 :(得分:1)
2。不起作用,因为由于值语义( tripmodel 的类型是结构),线
var trip = Data.tripModels[0]
将数组中该项的副本分配给trip
和
trip.title = "lol"
更新副本,但不更新数组中的项目。
请阅读Swift语言指南中的Structures and Enumerations are Value Types