Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 从类中获取实例值_Xcode_Swift - Fatal编程技术网

Xcode 从类中获取实例值

Xcode 从类中获取实例值,xcode,swift,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: i

我有一门课:

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\u name
image
作为一个类的实例。接下来,我想使用
image\u名称从
MapImage
访问
image
。我该怎么做?基本上,这个类包含成对的
image\u name
image
。如何使用
image\u name
访问
image

您正在描述一个字典并按键访问。因此,将MapImage实例放入字典,其中键是来自每个MapImage实例的
image\u name
,值是MapImage实例本身。现在,您可以使用名称字符串直接将您带到所需的MapImage实例

或者,只需将MapImage实例放入一个数组中,并在数组中循环查找
image\u name
就是您要查找的名称的实例。如果你有大量的实例,但是只有3张图片,这会比较慢。您可以使用
filter
instance方法为您执行循环并拉出所需的MapImage实例(警告,如果您提供的名称不正确,此代码将崩溃):


你有类似这些实例的集合吗?类似的。基本上,代码将创建3个自定义图像,然后添加图像名称和图像。我需要在以后的代码中以某种方式访问这些图像。我不知道UIImage,只知道NSImage,但NSImage有一个name属性,它是唯一的。因此,一旦您使用该名称创建它,当您实例化一个新映像时,操作系统将把它带回来。我猜UIImage也是这样。哈哈,谢谢。我想我工作太多了,需要休息一下。这很简单,我试图想出一些特别的东西,我甚至不知道是什么。。。简单的字典比我建议的还要简单!:)所以基本上你只是把你的MapImage课扔出了窗外?!总是一个完全合理的选择。。。
let arr : [MapImage] = // ...
let image = arr.filter{$0.name == "MyDesiredName"}[0].image