私はXCode8 /スウィフト3このエラーを修正する方法「エラー」は、この文脈でタイプの検索に曖昧であるMultipeer接続
にアップデートした後、このエラーを取得しますか?
ありがとうございました!
私はXCode8 /スウィフト3このエラーを修正する方法「エラー」は、この文脈でタイプの検索に曖昧であるMultipeer接続
にアップデートした後、このエラーを取得しますか?
ありがとうございました!
これは、独自のError
タイプを持つタイプの中で最も一般的です。たとえば:あなたはグローバルError
タイプを宣言した場合
class MyClass {
enum Error {
...
}
...
}
にも発生することができます。 Swift 3より前のこれは問題ありませんでしたが、Swift 3では新しいstdlib Error
タイプと衝突します。これを修正するには、Error
タイプの名前を変更するか、(より一般的には)どのモジュールを引き出すのかを明示する必要があります。したがって、このコード行は次のようになります。
... withError error: Swift.Error?) {
エラータイプを宣言していないので変です。しかし、Swift.Errorはうまくいった! 'Error'と' Swift.Error? 'について、 –
ありがとうございます。 「エラー」はタイプであいまいです。 OK。 'Swift.Error'とは何ですか? – Honey
"Swift"は標準ライブラリモジュールの名前です。 Swift.Errorはstdlibにある "Error"シンボルです。それは単なる完全修飾シンボルです。 Swiftのすべてのプログラムでは、 "Swift import"を暗黙的に取得します。だからそれはあいまいではない。それは非常に具体的です。 :)元のコードでOPが "Error"でクリックされた場合、OPは他のモジュールが独自のErrorシンボルを定義しているものになります。 –
偶然、あなたのプロジェクトに 'Error'クラス/構造体がありますか? Swift 3では、システムクラス 'NSError'が' Error'に改名されました – Losiowaty
問題を再現するコードをコピーできるように、スクリーンショットではなくテキストを入力してください – Mark