Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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
Ios 仅获取属性保留在内存中_Ios_Swift_Memory - Fatal编程技术网

Ios 仅获取属性保留在内存中

Ios 仅获取属性保留在内存中,ios,swift,memory,Ios,Swift,Memory,我有一个枚举,具有get-only属性image。似乎每次我读取它时,它都会将此图像保留在内存中,并仅在内存警告后删除它(因为我使用多个枚举实例并按顺序显示它们的图像),即使在我将另一个图像设置为显示它的UIImageView之后也是如此 如何强制将其从内存中删除?好吧,避免内存过载的最佳方法是首先不要缓存UIImage,这可以通过以下方法完成: extension UIImage{ static func getUcachedImage(named name: String) -&g

我有一个枚举,具有get-only属性
image
。似乎每次我读取它时,它都会将此图像保留在内存中,并仅在内存警告后删除它(因为我使用多个枚举实例并按顺序显示它们的图像),即使在我将另一个图像设置为显示它的
UIImageView
之后也是如此


如何强制将其从内存中删除?

好吧,避免内存过载的最佳方法是首先不要缓存UIImage,这可以通过以下方法完成:

extension UIImage{

    static func getUcachedImage(named name: String) -> UIImage?{
        let path = NSBundle.mainBundle().pathForResource(name, ofType: nil)!
        let image = UIImage(contentsOfFile: path)

        return image
    }

}

这就是我解决问题的方法。

创建/加载映像时,您的代码是什么样子的?@cleverror我只是通过
enumCase.image来调用它,就是这样!虽然我保留了这些案例的数组,但据我所知,这不应该影响get-only属性的功能know@CleverError基本上,代码行如下所示:
imageView.image=enumCase.image
并且它会针对不同的enum case调用多次,但是
enum
中的代码是什么样子的?如果不需要缓存: