2016-09-20 27 views

回答

4

這是最常見的一種類型,它有自己的Error類型。例如:

class MyClass { 
    enum Error { 
     ... 
    } 
    ... 
} 

這也可以,如果你全局聲明的Error類型發生。在Swift 3之前,這沒有問題,但是在Swift 3中,它與新的stdlib Error類型相沖突。要解決這個問題,你需要改變你的Error類型的名字,或者(更普遍的),只是明確你從哪個模塊中提取。所以這行代碼將變成:

... withError error: Swift.Error?) { 
+0

這很奇怪,因爲沒有聲明任何錯誤類型。但Swift.Error工作!謝謝 –

+0

關於'錯誤'與'Swift.Error?'。 '錯誤'是一種類型和模糊。好。什麼是「Swift.Error」? – Honey

+1

「Swift」是標準庫模塊的名稱。所以Swift.Error是stdlib中的「Error」符號。這只是一個完全合格的符號。您可以隱式地在所有Swift程序中「導入Swift」。所以它不是模糊的。它非常具體。 :)如果OP在命令代碼中點擊「錯誤」,它們將被帶到任何其他模塊正在定義自己的錯誤符號。 –

相關問題