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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Swift:当应用程序位于前台和后台时,临时在本地存储图像_Swift_Image_Background_Local Storage_Foreground - Fatal编程技术网

Swift:当应用程序位于前台和后台时,临时在本地存储图像

Swift:当应用程序位于前台和后台时,临时在本地存储图像,swift,image,background,local-storage,foreground,Swift,Image,Background,Local Storage,Foreground,我试图在用户运行应用程序时将图像存储在本地,并且在应用程序处于后台时将图像存储在本地。当用户终止应用程序时,数据应在本地消失,并且仅在用户重新打开应用程序后加载。我知道最初如何加载图像,但我正在考虑本地存储图像的位置/方式 我知道Swift有文件系统,但我想知道这是否是此类实现的最佳实践,或者是否有更好的解决方案。不可能完全按照您的要求执行,但您可以在功能上执行类似的操作 要缓存图像,只需使用现有库,如。它为您管理异步图像下载和缓存,要清除缓存的图像,您只需执行以下操作即可 SDImageCac

我试图在用户运行应用程序时将图像存储在本地,并且在应用程序处于后台时将图像存储在本地。当用户终止应用程序时,数据应在本地消失,并且仅在用户重新打开应用程序后加载。我知道最初如何加载图像,但我正在考虑本地存储图像的位置/方式


我知道Swift有文件系统,但我想知道这是否是此类实现的最佳实践,或者是否有更好的解决方案。

不可能完全按照您的要求执行,但您可以在功能上执行类似的操作

要缓存图像,只需使用现有库,如。它为您管理异步图像下载和缓存,要清除缓存的图像,您只需执行以下操作即可

SDImageCache.sharedImageCache().clearMemory()
SDImageCache.sharedImageCache().clearDisk()
现在,当你想清除缓存时,这有点棘手

终止应用程序时无法清除缓存,因为无法可靠地检测应用程序何时终止。存在UIApplicationLegate.applicationWillTerminate方法,但如果应用程序在挂起状态下终止,则不会调用该方法

但是,您可以做一个变通方法:在UIApplicationLegate.application_2;didFinishLaunchingWithOptions:中启动应用程序时,只需清除缓存,这在功能上与您想要做的相同