【发布时间】:2015-02-22 23:57:46
【问题描述】:
我正在尝试保存并稍后加载磁盘中的图像。以下适用于模拟器,但当我在设备上测试时,我得到unexpectedly found nil while unwrapping an Optional value。
将图像保存到磁盘:
let sketchData: NSData = UIImagePNGRepresentation(sketch)
let destinationFolder: String = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
let sketchPath: String = "\(destinationFolder)\(currentProjectID).png"
defaults.setObject(sketchPath, forKey: "sketchpath")
sketchData.writeToFile(sketchPath, atomically: true)
从磁盘加载图像:
let sketchPath: String = defaults.objectForKey("sketchpath") as String
let image = UIImage(contentsOfFile: sketchPath)
这是一个示例路径。它在保存和加载方面是相同的,所以问题不是试图从不同的文件路径加载。
/var/mobile/Containers/Data/Application/72EDBC3D-F9D8-4108-8A64-751A10FF1E71/Documents4.png
保存到实际设备是否需要不同的文件路径?
【问题讨论】:
-
加载图像时,您是否动态创建
sketchPath? -
@MidhunMP 我正在从 NSUserDefaults 中提取
sketchPath- 请参阅我添加到问题中的行。