Swift 两个不同模块中的同一类扩展

Swift 两个不同模块中的同一类扩展,swift,namespaces,swift-extensions,Swift,Namespaces,Swift Extensions,我的项目中有一个框架,它在NSDate上实现了一个扩展。扩展看起来像这样 extension NSDate { func isGreaterThanDate(otherDate: NSDate) -> Bool { //function implementation here } } 我已将此框架导入到应用程序项目中。现在,如果我将同一扩展名复制并粘贴到应用程序中的swift文件中,我的应用程序代码中的新副本将覆盖框架代码中的副本 当我在我的应用程序中调用此函数时

我的项目中有一个框架,它在NSDate上实现了一个扩展。扩展看起来像这样

extension NSDate {
   func isGreaterThanDate(otherDate: NSDate) -> Bool {
      //function implementation here
   }
}
我已将此框架导入到应用程序项目中。现在,如果我将同一扩展名复制并粘贴到应用程序中的swift文件中,我的应用程序代码中的新副本将覆盖框架代码中的副本


当我在我的应用程序中调用此函数时,是否有一种方法可以使用名称空间来指定我想要的实现?

到目前为止,我找到的唯一答案是“不,您不能使用名称空间来防止此问题。”但如果有人意外地使用了相同的函数签名,我仍在关注如何处理这种情况。

我不明白你为什么要在以后的应用程序中覆盖框架中使用的函数?只需稍微更改名称或参数标签即可。你不想把自己和两个同名的函数混淆,对吧?即使你知道你可能会混淆其他读你代码的人。是的,我意识到我可以改变一下名字。。。我有点惊讶,似乎没有一种方法可以通过名称空间来解决这个问题。我可以看到这是一些开发团队的一大难题。。。