将图像数组设置为图像视图

时间:2017-04-30 02:13:38

标签: swift xcode firebase firebase-realtime-database

如果您的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"]

你想在图像视图中显示图像,你可以这样做。

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

但它没有用。有人可以指出我正确的道路。

1 个答案:

答案 0 :(得分:0)

假设图像数量很少,将它们存储在应用程序的Documents目录中是可行的方法。然后,您可以将路径存储在UserDefaults密钥中,以便稍后检索。这两个都是持久的。

使用此方法,您需要将图像转换为NSData,然后将其写入Documents目录中的文件。然后在加载时,您必须使用具有NSData对象的UIImage初始化程序作为参数。

如果用户能够上传可变数量的图像,那么这种方法是不明智的,而CoreData是更好的选择。