我正在开发一个应用程序,其中用户可以保存13个屏幕截图并以缩略图或全屏图像的形式显示在单个视图中。这是我如何保存的截图:如何覆盖/删除应用程序中保存的图像
let fileName:String = self.stickerUsed + "saved" + ".png"
var arrayPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! NSString
var pngFileName = arrayPaths.stringByAppendingPathComponent(fileName)
UIImagePNGRepresentation(resizeImage(screenshot!, newSize: CGSizeMake(self.view.frame.width, self.view.frame.height))).writeToFile(pngFileName, atomically:true)
NSUserDefaults.standardUserDefaults().setObject(pngFileName, forKey: self.stickerUsed)
NSUserDefaults.standardUserDefaults().synchronize()
,这是我如何获取他们:
var defaultName:String = self.stickerUsed + "saved" + ".png"
let path = NSSearchPathForDirectoriesInDomains(
.DocumentDirectory, .UserDomainMask, true)[0] as! NSString
let fileName = NSUserDefaults.standardUserDefaults()
.stringForKey(stickerUsed) ?? defaultName
let imagePath = path.stringByAppendingPathComponent(fileName)
let image = UIImage(named: imagePath)
我如何覆盖保存的图像?当我使用代码保存具有相同文件名的不同屏幕截图的图像,然后检索它时,我得到的是之前保存的图像,并且新图像未被覆盖!
谢谢Jiri!我更改了 'let documentsDirectoryPath = NSSearchPathForDirectoriesInDomains(.CachesDirectory,.UserDomainMask,true)[0] as!字符串' 至 'let documentsDirectoryPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true)[0] as!字符串' ,它的工作。 –