提问人:Peter71 提问时间:6/24/2015 更新时间:6/24/2015 访问量:179
SWIFT:在数组中使用引用而不是复制对象
SWIFT: Using reference in array instead of copying Object
问:
我使用对象数组。然后我将它们中的一些添加到另一个数组中。但它们被复制了。因此,当我更改其内容时,原始值保持不变。
var primary = [fileObj]()
for image in images {
if image.oldID != 0 && image.priority != noPriority {
primary.append(image)
}
}
如何在数组中添加引用,以便能够直接更改对象中的内容?
例如:
primary[2].priority = -1
答:
0赞
giorashc
6/24/2015
#1
从给定的代码来看,发生这种情况的唯一原因是 if 是一个结构体。 实例是按值复制的,而实例是通过引用传递的,因此更改为类而不是结构。fileObj
struct
class
fileObj
评论