从类中获取实例值

时间:2015-01-24 17:54:54

标签: xcode swift

我有一个班级:

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_nameimage作为类的实例。接下来,我想使用imageMapImage访问image_name。我怎样才能做到这一点?基本上,类包含image_nameimage对。如何使用image访问image_name

1 个答案:

答案 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