2

一部の (iOS) クライアント側コードをサンプルの Vapor サーバー側プロジェクトに再利用しようとしています。

問題のコードは、struct JSON として定義された SwiftyJSON 機能に依存しています。現在、この名前スロットは「無料」ではありませんが、Vapor が依存するパッケージ内で既に使用されています (パッケージ名も JSON です)。

以前のクライアント側コード (App.JSON として) で必要な JSON を指すことができますが、コードにボイラープレートされているコントローラーも JSON を使用します。そして、私が行ったように SwiftyJSON ライブラリ ファイルを App 名前空間に配置すると、Vapor の JSON へのモジュールレス参照が実際にオーバーライドされるようです。

そこでJSON.JSONを参照しようとしたのですが、認識されません。JSON は、プロジェクトで定義およびコンパイルされたフレームワークです。モジュール名も暗黙的に定義すべきではありませんか?

では、どうすれば Vapor の JSON に到達できますか?

ありがとう..

4

1 に答える 1

1

実際のところ、このVaporモジュールは もエクスポートしJSONます。したがって、次のように動作します。

import Vapor

// Introduce a symbol collision
struct JSON {}

// Import from the Vapor module
print(try Vapor.JSON(node: "test"))
于 2016-12-27T20:48:33.487 に答える