【问题标题】:SWIFT: Using reference in array instead of copying ObjectSWIFT:在数组中使用引用而不是复制对象
【发布时间】:2015-06-24 10:50:32
【问题描述】:

我使用一个对象数组。然后我将其中一些添加到另一个数组中。但是它们是被复制的。因此,当我更改它们的内容时,原始值保持不变。

var primary = [fileObj]()

for image in images {
    if image.oldID != 0 && image.priority != noPriority {
        primary.append(image)
    }
}

如何在数组中添加引用,以便可以直接在对象中更改内容?

例如:

primary[2].priority = -1

【问题讨论】:

    标签: arrays swift reference mutable


    【解决方案1】:

    从给定的代码来看,这应该发生的唯一原因是fileObj 是一个结构。 struct 实例按值复制,而 class 实例按引用传递,因此将 fileObj 更改为类而不是结构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 2016-05-17
      • 1970-01-01
      • 2013-04-25
      • 2015-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多