-3
我写下载从网页视图文件的应用程序时处理。当文件被下载时,我检查是否存在问题。
问题
当我尝试将文件转换为字符串,所以我可以操纵我得到了臭名昭著的
呼叫可以抛出数据,但没有打上“尝试”且误差不 处理
我试图找出如何处理错误,但我认为方式的背景下,我创建变量content
,我缺乏理解来完成这项任务。
例
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
if let url = navigationAction.request.url, url.lastPathComponent == "mydata.do" {
FileDownloader.download(from: url) { filepath in
let filemgr = FileManager.default
if filemgr.fileExists(atPath: filepath) {
// this line throws error
let content = String(contentsOfFile: filepath, encoding: String.Encoding.utf8)
print(content)
} else {
print("FILES DOES NOT EXIST!")
}
}
decisionHandler(.cancel)
} else {
decisionHandler(.allow)
}
}
问题
什么是创建变量字符串将在何时读取文件为一个字符串和处理错误的正确方法?在我的情况下,content
。
let content = String(contentsOfFile: filepath, encoding: String.Encoding.utf8)
您应该阅读方法的文档:https://developer.apple.com/documentation/foundation/nsstring/1412610-init以及显示如何在讨论中管理错误的部分 – Larme