2014-11-06 113 views
4

考慮:斯威夫特命名空間衝突

  • 一個名爲FrameworkA定義類型Thing斯威夫特框架。
  • 一個名爲FrameworkB的Swift框架,它也定義了類型Thing和類型FrameworkA
  • 在同一個Swift文件中導入兩個框架的應用程序。

如何在文件中引用FrameworkA.Thing?以下行失敗,Thing is not a member of FrameworkA

let t : FrameworkA.Thing? = nil 

回答

5

這似乎是一個Swift錯誤。作爲一種變通方法,您可以創建一個導入僅FrameworkA並定義了應用新雨燕文件typealiasThing

import FrameworkA 

typealias ThingA = Thing 

然後需要導入這兩個框架的文件中,您使用ThingA,而不是FrameworkA.Thing