init(contentsOf:)
來自基金會的NSString
API--就像所有基金會API一樣,它會拋出描述錯誤的NSError
。你可以捕捉它像任何其他錯誤:
do {
let str = String(contentsOf: theLocalURL)
// ...
} catch {
// Present `error.localizedDescription` to the user to let them know what went wrong
}
由於錯誤是NSError
,你還可以趕上它是這樣來檢查其code
/userInfo
:
do {
// Same as above
} catch let error as NSError {
// Inspect what went wrong.
}
至於其具體的代碼你可能會期望,看看NSFile
...在NSError Codes
list中的錯誤代碼。如果文件不存在,則通用代碼可能是NSFileReadNoPermissionError
或NSFileReadNoSuchFileError
等等。
但是,一般情況下,您應該向用戶顯示錯誤的localizedDescription
,並中止操作或重試。
您不應該使用該初始值設定項。使用URLSession加載數據。 – rmaddy
下載網絡數據不是URL會話嗎?我只是加載本地文件。 – PopKernel
好的,對於本地文件應該沒問題。 – rmaddy