我有几张图片,我想根据我从网络服务获得的特定值设置我的ImageView图像。
例如,如果我有价值"狗"我必须设置一只狗的形象。
所有图片都在我的xcassets剧目中。
我应该为此制作一个开关吗?或者有更好的方法吗?
答案 0 :(得分:0)
如果Web服务返回资源中使用的相同名称,那么您可以直接使用返回的名称作为要使用的图像名称,如下所示:
let newImage: UIImage? = UIImage(named: imageName) // imageName is the name returned to you by the web service.
self.myUIImageView.image = newImage
答案 1 :(得分:0)
让我们说你得到了#34; dog"来自网络服务的价值,你有" dog"保存在.xcassests文件夹中的图像,然后您可以使用相同的名称来指定图像名称。理想情况下,在.xcassets文件夹中创建来自服务器的相同图像名称,以正确映射图像。
假设您有Model as Data struct而imageName属性存储图像名称
struct Data {
let imageName: String
}
let imageName = data.imageName //"dog"
imageView.image = UIImage(named: imageName)