在swift中更改集合可选值?

时间:2015-12-19 03:18:11

标签: swift collections optional-values

rowDescriptorAnyObject?类型,我将self.rowDescriptor?.value转换为images。我想将图片添加到self.rowDescriptor?.value。我没有这样做,如下所示。 images有一个值。但是self.rowDescriptor?.value仍然是空的。我找不到任何关于它的文件。是什么原因。

    var images :[UIImage] = self.rowDescriptor?.value as! [UIImage]
    if let image = editedImage {
        images.append(image)
    } else {
        images.append(originalImage!)
    }

1 个答案:

答案 0 :(得分:3)

Swift中的数组类型是一个结构。 swift中的结构是值类型而不是引用类型。澄清:

images包含self.rowDescriptor?.value

的副本

images.append(更改了images副本,而不是rowDescriptor.value

中的原始值

您想要更改self.rowDescriptor?.value,只需将其设置为新更改的image数组。

self.rowDescriptor?.value = images

TD组成; dr

要修复,请添加self.rowDescriptor?.value = images