当您的 Assets.xcassets 文件夹中已有一组图像时,如下所示:
imageArray = ["background-1 (dragged).tiff", "background-2 (dragged).tiff", "background-3 (dragged).tiff", "background-4 (dragged).tiff", "background-5 (dragged).tiff", "background-6 (dragged).tiff", "background-7 (dragged).tiff"]
如果你想在 ImageView 中显示图像,你可以这样做。
var imageView: UIImageView!
imageView.image = UIImage(named: "\(imageArray.object(at: index))")
return imageView
但是,我正在创建一个应用程序,用户必须在其中放入自己的图像,并且我将图像存储在 firebase 中。所以我有这个数组
imageArray = [self.ImageOne, self.ImageTwo, self.ImageThree, self.ImageFour, self.ImageFive]
但是,我不能使用
imageView.image = UIImage(named: "\(imageArray.object(at: index))")
因为图像没有存储在我的 Assets.xcassets 文件夹中。如何将 imageView.image 设置为我拥有的数组?
我尝试过这个:
imageView.image = UIImage(imageArray = [self.ImageOne, self.ImageTwo, self.ImageThree, self.ImageFour, self.ImageFive])
return imageView
但是没有成功。有人可以指出我正确的道路吗?
最佳答案
假设图像数量很少,将它们存储在应用程序的 Documents
目录中是解决此问题的方法。然后,您可以将该路径存储在 UserDefaults
键中以便稍后检索。这两者都是持久的。
使用此方法,您需要将图像转换为 NSData
,然后将其写入 Documents
目录中的文件。然后,在加载它时,您必须使用以 NSData 对象作为参数的 UIImage
初始值设定项。
但是,如果用户能够上传可变数量的图像,那么此方法是不明智的,CoreData 是更好的选择。
关于swift - 将图像数组设置为 ImageView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43702259/