在我的代码中,我设法用CoreData保存了textLabel,但似乎无法正确保存图像。我已经阅读了一些教程,并且知道必须将其转换为NSData。但是我该怎么做呢?
提前致谢!
核心数据并不是要保存图像等大的二进制文件。而是在文件系统中使用文档目录。
这是实现此目的的示例代码。
let documentsDirectory = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first as! String // self.fileName is whatever the filename that you need to append to base directory here. let path = documentsDirectory.stringByAppendingPathComponent(self.fileName) let success = data.writeToFile(path, atomically: true) if !success { // handle error }
建议将filename零件以及与该图像关联的其他元数据保存到核心数据中,并在每次需要时从文件系统中检索。
filename
编辑:还请注意,从ios8开始,由于动态生成沙盒化的app- id,因此保留完整文件url无效。您将需要documentsDirectory根据需要动态获取。
documentsDirectory