我有以下代码:
document?.open { success in
if success {
print("file opened")
self.consumed = self.document?.consumed
} else {
print("file read failure")
}
}
可以看出,我有成功和失败的印记。但是都不会打印。
合理的问题是文件不存在,不可读或什么东西。因此,我在此代码之前添加了以下内容:
if document != nil {
print("not nil")
let asString = document?.fileURL.path
let toast = FileManager.default.fileExists(atPath: asString!)
if toast {
print("file exist")
} else {
print("file does not exist")
}
} else {
print("nil")
}
if FileManager.default.isReadableFile(atPath: (document?.fileURL.path)!)
{
print("readable")
}
else
{
print("not readable")
}
对我来说,它是:不为nil,存在且可读。
是否有时会缺少此完成代码?能够打开该文件很好,但是我认为它不起作用是第一步。
关于文件的注释。它是从分发包中读取并复制到Documents目录的文件。我查看了文件的属性,却没有发现任何奇怪的地方。
答案 0 :(得分:0)
尝试将document?.open
替换为document!.open
,或使用保护措施来确保文档不为零。原因是如果document
为nil,则会跳过整个呼叫。
Here,您可以阅读可选链接。