通过NSUserdefaults保存和加载图像路径

时间:2014-12-13 16:01:21

标签: swift uiimage nsuserdefaults nsdocumentdirectory

我的应用允许用户从照片库中选择徽标并将其保存到文档目录中,如下所示:

 var fileName:String = "logo.png"

        var arrayPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString

        var pngFileName = arrayPaths.stringByAppendingPathComponent(fileName)

       UIImagePNGRepresentation(pickedImage).writeToFile(pngFileName, atomically:true)

        NSUserDefaults.standardUserDefaults().setObject(fileName, forKey: "pngFileName")
        NSUserDefaults.standardUserDefaults().synchronize()

我想在另一个viewcontroller中使用该图像,但我无法弄清楚如何从用户默认值访问图像,然后在当前的viewcontroller中使用。

1 个答案:

答案 0 :(得分:4)

您将文件名存储在用户默认值中,您可以通常的方式找到应用程序文档目录 - 将两者结合起来并拥有您的URL。这样,您就可以显示图像。

let path = NSSearchPathForDirectoriesInDomains(
       .DocumentDirectory, .UserDomainMask, true)[0] as NSString
let fileName = NSUserDefaults.standardUserDefaults()
               .stringForKey("pngFileName") ?? defaultName
let imagePath = path.stringByAppendingPathComponent(fileName)!
let image = UIImage(contentsOfFile: imagePath )

// display the image
someImageView.image = image
相关问题