为什么我不能使用 "helper" 变量更新数组中的对象?
Why Can't I Update an Object in Array using a "helper" Variable?
出于好奇,我问这个是为了理解 Swift。
我正在尝试更新位于另一个 class 中的数组中的对象。
我有两种情况(一种有效,另一种无效)
- 工作解决方案:
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 的类型是一个结构)行
var trip = Data.tripModels[0]
将数组中项目的 copy 分配给 trip
和
trip.title = "lol"
更新副本但不更新数组中的项目。
请阅读 Swift 语言指南中的 Structures and Enumerations are Value Types
出于好奇,我问这个是为了理解 Swift。
我正在尝试更新位于另一个 class 中的数组中的对象。
我有两种情况(一种有效,另一种无效)
- 工作解决方案:
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 的类型是一个结构)行
var trip = Data.tripModels[0]
将数组中项目的 copy 分配给 trip
和
trip.title = "lol"
更新副本但不更新数组中的项目。
请阅读 Swift 语言指南中的 Structures and Enumerations are Value Types