2017-04-05 10 views
1

私のプロジェクトにスワッガークライアントを統合しようとしています。私は笑い声からクラスを生成することができました。 Swagger for swift 3はAlamofireをニュートーク操作に使用します。問題は、生成されたクラス名の1つが「レスポンス」です。 Alamofireは内部的に同じクラスを持っています。これらのクラスを追加してビルドしようとすると、クラスの再宣言に関する多くのエラーが発生します。この場合、私は何ができますか?サーバー側から「レスポンス」クラスを取得しないように変更する必要がありますか?プロジェクトに同名の2つの.swiftファイルを追加する

答えて

0

あなたはあなたの呼び出しにモジュール名を追加するだけで、ちょうど彼らのコードを残すことができる必要があります:

Alamofire.Response.... Swagger.Response... 

あなたのコードがあいまいにならないように。 (コンパイラはあなたが意味するものを推測しようとせず、2つの可能性を与えています...クラスの初めにあるモジュール名はコンパイラにあなたにはっきりとわかります)

+0

返信ありがとうございます。私は接頭辞をモデルクラスに追加することで問題を解決することができました。スワッガーのレスポンスはGenResponseになりました。 –

+0

ああ。それは私が提案したものとは違う。あなたのアプローチの問題は、彼らがコードを更新する場合、あなたは再びそれを変更する必要があります。あなたがそれをやっていれば、あなたがアップグレードすればコードを変更する必要はないと私は示唆しました。しかし、私はあなたがそれが働いてうれしいです。 – Mozahler

+0

あなたのアプローチに従えば、コードを実行することさえできません。 Alamofireの応答とswaggerの応答には、クラスの無効な再宣言のコンパイル時エラーがあります。コードを構築するだけで呼び出しを忘れてしまいました。スワッガークラスの名前を変更する必要がありました –

関連する問題