swift - 将图像数组设置为 ImageView

标签 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"]

如果你想在 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/

相关文章:

objective-c - UITableView+UINavigationBar+UITabbar 在基于 windows 的应用程序模板中使用界面生成器?

android - 将 'com.google.firebase:firebase-analytics' 用于 Firebase 分析?

angularjs - 使用 AngularFire 根据 id 连接路径之间的数据

objective-c - cocoa 绑定(bind) : Enable a button if multiple textfields have values

ios - UISwipeGestureRecognizer 未添加到 View 中

java - 与谷歌即时游戏和 com.google.gms.google-services 插件冲突

ios - 头文件和plist文件在框架中的作用是什么?

iOS Swift 2 - 删除 tableView 行时出错

ios - 如何过滤 TableView 单元格以便过滤掉的单元格不会出现?

ios - 如何在 swift 中的标签中嵌入自定义按钮?