为了账号安全,请及时绑定邮箱和手机立即绑定

NSFileManager.defaultManager().fileExistsAtPath返回

NSFileManager.defaultManager().fileExistsAtPath返回

慕妹3242003 2019-07-09 15:45:04
NSFileManager.defaultManager().fileExistsAtPath返回false而不是true怎么可能?let exists = NSFileManager.defaultManager().fileExistsAtPath(path.absoluteString)print("exists: \(exists)") //false这是path.absoluteString//file:///Users/kuna/Library/Developer/CoreSimulator/Devices/92BD140D-5C14-43C4-80D6-904BB9594ED6/data/Containers/Data/Application/5B818832-BB19-4047-A7F8-1487F36868D6/Documents/wishlists/68/147/128/IMG_0006.PNG你可以看到它就在它应该在的地方:怎么一回事?
查看完整描述

3 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

显然你的path变量是NSURL(描述文件路径)。若要将路径作为字符串获取,请使用path财产,而不是absoluteString:

let exists = FileManager.default.fileExists(atPath: path.path)

absoluteString返回字符串格式的URL,包括file:计划等

例子:

let url = URL(fileURLWithPath: "/path/to/foo.txt")// This is what you did:print(url.absoluteString)// Output:   
 file:///path/to/foo.txt// This is what you want:print(url.path)// Output:    /path/to/foo.txt


查看完整回答
反对 回复 2019-07-09
?
青春有我

TA贡献1784条经验 获得超8个赞

如果要检查路径是否存在,则应检查路径。

let url = NSURL(string: "balabala")let path = url?.path//Check path


查看完整回答
反对 回复 2019-07-09
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

差异是绝对的,String也包括file://就像这样:file:///Users/kuna/...,路径刚刚返回/Users/kuna/...

查看完整回答
反对 回复 2019-07-09
  • 3 回答
  • 0 关注
  • 1286 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信