检查文件夹是否存在的可选语句

时间:2018-07-28 22:40:20

标签: ios swift optional

此行获取目录名称

 let directory = NSURL(fileURLWithPath: image).deletingPathExtension?.lastPathComponent  // 

现在,我有兴趣检查整个路径是否存在。但是,如果我尝试以下代码行:

     if let imageDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent(directory!, isDirectory: true)

我收到错误消息,消息“用于条件绑定的初始化程序必须具有OPtional类型,而不是URL”

我也尝试过directory?

谢谢。

1 个答案:

答案 0 :(得分:1)

如果使用该构造,则会出现错误原因

  

如果让某物= ...

您必须尝试解开可选属性。但是在您的示例中,您没有打开任何包装,因为您的财产是

  

第一!

我的解决方案

if let directory = NSURL(fileURLWithPath: image).deletingPathExtension?.lastPathComponent,
   let imageDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.appendingPathComponent(directory, isDirectory: true) {

}

EDIT1:

使用URL代替NSURL:

let directory = URL(fileURLWithPath: image).deletingPathExtension().lastPathComponent
if let imageDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.appendingPathComponent(directory, isDirectory: true) {}