我有一个班级:
class MapImage {
var name: String!
var image: UIImage!
init(name: String, image: UIImage) {
self.name = name
self.image = image
}
}
然后我将图像名称和以编程方式创建的图像添加到我的类MapImage中。我打电话给我的功能
MapImage(name: image_name, image: image)
所以现在我有image_name
和image
作为类的实例。接下来,我想使用image
从MapImage
访问image_name
。我怎样才能做到这一点?基本上,类包含image_name
和image
对。如何使用image
访问image_name
?
答案 0 :(得分:1)
您正在描述字典并按键访问。因此,将MapImage实例放入字典中,其中键是来自每个MapImage实例的image_name
,值是MapImage实例本身。现在,您可以使用名称字符串直接转到所需的MapImage实例。
或者,只需将MapImage实例放入一个数组中,然后在数组中循环查找image_name
之后的名称。如果你有大量的实例,但只有3个图像,那就慢了。您可以使用filter
实例方法为您执行循环并拉出所需的MapImage实例(警告,如果您提供错误的名称,此代码将崩溃):
let arr : [MapImage] = // ...
let image = arr.filter{$0.name == "MyDesiredName"}[0].image