此行获取目录名称
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?
。
谢谢。
答案 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) {}