我正在尝试这个:
if let storedCoverImagePath = UC.coverImagePath{
let storedCoverImage = UIImage(contentsOfFile: storedCoverImagePath as String)
self.coverImage.image = storedCoverImage
self.backgroundImageView.image = storedCoverImage
}
并且storedCoverImagePath的值为:
/Users/remy/Library/Developer/CoreSimulator/Devices/D29D4F6F-E146-419D-B4B8-B1914F56569F/data/Containers/Data/Application/637675BB-EFA1-A8RT-8B73-A3628/DocumentsCoverImage.jpg
直截了当地试图从这条storedCoverImagePath
路径获取图像。我仔细检查了路径,图像仍然无法使用此路径设置图像,是否有一些东西可以丢失,如果是,请告诉我
答案 0 :(得分:0)
您必须指定相对于您的应用包或目录的路径。如果你像你一样对路径进行硬编码:
/Users/remy/Library/Developer/CoreSimulator/Devices/D29D4F6F-E146-419D-B4B8-B1914F56569F/data/Containers/Data/Application/637675BB-EFA1-A8RT-8B73-A3628/DocumentsCoverImage.jpg
由于沙盒而被忽略。 iOS不允许该应用引用沙箱外部的目录。
使其工作的一种方法是将图像添加到项目中。然后你可以使用:
let image : UIImage = UIImage(named:"ImageName")
另一种方法是,如果图像保存在应用的文档目录中,则使用:
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let fileURL = documentsURL.URLByAppendingPathComponent(yourImageName)
let image = UIImage(contentsOfFile: fileURL.path!)