【发布时间】:2016-09-16 14:00:14
【问题描述】:
我要疯了。我有一个类,它列出相册中的图片并为每个图片检索一个 NSURL,例如
"/var/mobile/Media/DCIM/100APPLE/IMG_0045.JPG"
我在那里放了一个断点并检查,文件存在一切都很好。
我存储这些 URL。在用户操作时,我调用另一个类来显示其中一个图像并将该 URL 在 segue 上的一个属性传递给新的视图控制器。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "picDetailsSegue" {
if let picReviewController = segue.destinationViewController as? PicReviewViewController
{
if(clickedPicture != nil)
{
picReviewController.existingFilePath = clickedPicture.urlPath.path!
[initialize other stuff...]
}
}
}
}
但一旦到了那里,
NSFileManager.defaultManager().fileExistsAtPath(thePath!)
只是不断返回错误。我尝试了很多调整,比如将路径作为字符串传递,使用 NSURL 对象的“路径”和“相对路径”属性,我可以在网上找到的所有建议,没有任何作用,找不到文件,以下总是返回 nil
let image = UIImage(contentsOfFile: theURL.path!)
控制台输出:
第一次访问 URL 并存储时:
(lldb) print NSFileManager.defaultManager().fileExistsAtPath(url!.path!)
(Bool) $R1 = true
(lldb) print url!.path
(String?) $R3 = "/var/mobile/Media/DCIM/100APPLE/IMG_0045.JPG"
当我再次尝试访问它时
(lldb) print NSFileManager.defaultManager().fileExistsAtPath(clickedPicture.path!.path!)
(Bool) $R4 = false
(lldb) print (clickedPicture.path!.path!)
(String) $R5 = "/var/mobile/Media/DCIM/100APPLE/IMG_0045.JPG"
【问题讨论】:
-
你有没有想过这个问题?我也有同样的问题。