更改 swift 中的集合可选值?
change collection optional value in swift?
rowDescriptor
是 AnyObject?
类型,我将 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!)
}
Swift中的数组类型是一个结构。 swift 中的结构是值类型而不是引用类型。澄清一下:
images
包含 self.rowDescriptor?.value
的副本
images.append(
更改副本 images
,而不是 rowDescriptor.value
中的原始值
您想更改 self.rowDescriptor?.value
,因此只需将其设置为新更改的 image
s 数组即可。
self.rowDescriptor?.value = images
td;dr
要修复,请添加 self.rowDescriptor?.value = images
。
rowDescriptor
是 AnyObject?
类型,我将 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!)
}
Swift中的数组类型是一个结构。 swift 中的结构是值类型而不是引用类型。澄清一下:
images
包含 self.rowDescriptor?.value
images.append(
更改副本 images
,而不是 rowDescriptor.value
您想更改 self.rowDescriptor?.value
,因此只需将其设置为新更改的 image
s 数组即可。
self.rowDescriptor?.value = images
td;dr
要修复,请添加 self.rowDescriptor?.value = images
。