更新到Swift 2.0後,當調用NSFielManager時,它會導致以下錯誤。你能告訴我什麼是問題嗎?調用可以拋出,但錯誤不能被拋出屬性初始化程序
let cachesDirectoryURL = NSFileManager().URLForDirectory(.CachesDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true)
錯誤
「呼叫可以拋出,但錯誤不能拋棄的屬性初始化的」
更新到Swift 2.0後,當調用NSFielManager時,它會導致以下錯誤。你能告訴我什麼是問題嗎?調用可以拋出,但錯誤不能被拋出屬性初始化程序
let cachesDirectoryURL = NSFileManager().URLForDirectory(.CachesDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true)
錯誤
「呼叫可以拋出,但錯誤不能拋棄的屬性初始化的」
這意味着我們必須抓住可能拋出的錯誤,應該會出現問題:
do
{
let cachesDirectoryURL = try NSFileManager().URLForDirectory(.CachesDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true)
}
catch let error as NSError
{
print(error.localizedDescription)
}
這仍然'拋出錯誤'*屬性*初始值設定項 - 否則在上下文無效。在這種情況下,'let'是指成員,如消息所示,不是本地綁定。 – user2864740
它必須是1)財產,並; 2)在Swift 2下重現OP的行爲。此代碼在* property *聲明的上下文中沒有意義。 – user2864740
解決了錯誤!謝謝! – lalala
*搜索* for error messages - http://stackoverflow.com/questions/30776458/call-can-throw-but-errors-can-not-be-thrown-out-of-a-global-變量初始化,http://stackoverflow.com/questions/ 30786877/avaudioplayer-no-longer-working-in-swift-2-0-xcode-7-beta這段代碼沒有什麼特別的。 – user2864740