我希望将一些 (iOS) 客户端代码重新使用到示例 Vapor 服务器端项目中。
相关代码依赖于 SwiftyJSON 功能,定义为 JSON 结构;现在这个名称槽不是“免费”的,但已经在 Vapor 依赖的包中使用了(包名称也是 JSON)。
虽然我可以在我以前的客户端代码(如 App.JSON)中指出我想要的 JSON,但样板化到代码中的 Controller 也使用 JSON。显然,像我一样将 SwiftyJSON 库文件放入 App 命名空间实际上覆盖了对 Vapor JSON 的无模块引用。
然后我尝试引用 JSON.JSON,但它没有被识别。 JSON是项目中定义编译好的框架。它不应该也隐含地定义一个模块名称吗?
那么我怎样才能到达 Vapor 的 JSON?
谢谢..
最佳答案
事实上,Vapor
模块也导出JSON
。因此,以下工作:
import Vapor
// Introduce a symbol collision
struct JSON {}
// Import from the Vapor module
print(try Vapor.JSON(node: "test"))
关于Swift Vapor 和模块;如何区分两个重叠的 'type symbols',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41348348/