2016-11-22 10 views
2

にラインを見つける方法私はXcodeの8.1で、いくつかの警告を取得してい示す:「UIView?」から暗黙的に強制的に表現されます。どれ - ソースコード

Expression implicitly coerced from 'UIView?' to Any. 

を他のクラスのいくつかは、同様に、あります。 Swift 3に初めて移行したときにこれらのいくつかがありましたが、ほとんどPrintステートメントで、そこで解決するためにas Anyを追加するだけでした。しかし、これらとの違いは、ソースコード内のどの行にも移動させず、ソースコードのどこに問題があるのか​​を示していないことです。 Xcodeでそれらをクリックすると、ログに戻って再び一覧表示されます。

enter image description here

私はこれらの警告のためのコードの位置(複数可)を決定するための方法はありますか?ありがとう。

編集:

Issue Navigatorでの警告の表示は次のとおりです。いずれかをクリックすると、ソースコード内の行に移動しません。同じメッセージがリストされたコンパイラログが表示されます。

enter image description here

+0

let params = [ "myInt" : 50, "myString" : "some stuff", "myBool" : true ] 

に変更する必要があります。これは基本的にコンパイラのログです。はい、コード自体を調べましたが、200,000行のコードをスキャンするのはあまり効率的ではありません。どのファイルが問題になっているかを知るだけでも役立ちます。私は、ログ内の位置がどのファイルを示しているのだろうかと思います。 – Lastmboy

+0

私は-1と大丈夫ですが、私の質問が投票された理由を知ることは有益なので、私は同じ間違いをもう一度しません。 – Lastmboy

+0

はい、私はClean、Clean Build Folderを実行し、すべての派生データを駆除しました。ソース管理関連のものだと思えば、ソース管理版をゼロから再構築する方法はありますか? – Lastmboy

答えて

1

私は、消去法によってそれらすべてをクリーンアップするために管理。私は警告が消えてからブロックを検査するまで、一度に1ブロックずつコードをコメントアウトしました。犯人は混合データ型の辞書宣言であったことが判明しました。私はそれぞれの最後にas [String : Any]を追加しました。例えば

:それは私が課題ナビゲーターに警告をクリックしたときに私が何を得るのです@rmaddy

let params = [ 
    "myInt" : 50, 
    "myString" : "some stuff", 
    "myBool" : true 
] as [String : Any] 
+0

Hmmm。私はちょうど遊び場でそれを試してみました。文字列をintと混合し、あなたと同じように私はエラーを受け取り、 "[String:Any]"として使うことを提案しています。私の実際のプロジェクトでは、彼らがただの警告だったと奇妙に思えます。しかし、私はこのチェックがかなり最近追加されたと思います。 – Lastmboy

関連する問題