我遇到与此问题Re-export qualified?
中描述的完全相同的问题module Foo.A where foo = 42
和
module Foo.B where foo = 12
你想写一个超级模块
module Foo ( module Foo.A , module Foo.B ) where import Foo.A import Foo.B
重新导出这些模块,你会得到一个名字冲突。
五年前有人问过,我想从那以后可能会有一些变化。有没有?如果没有,那仍然没有解决方案吗?
我不认为镜头可以解决它。
更新:
每个模块中有很多函数foo
(foo1,foo2等),我想从两个模块中使用它们。毕竟,每个模块中也可以有data
个相同的成员名称。
所以隐藏并不是一个解决方案。
答案 0 :(得分:2)
没有新的解决方案,但仍有解决方案。
首先,由于只能导出一个if error == nil {
dispatch_async(dispatch_get_main_queue()) {
let dataArray:[AnyObject] = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as! [AnyObject]
for data in dataArray {
let dictionary:[String:String] = data as! [String:String]
if dictionary["StaffID"] != nil {
self.astrUsers.append(dictionary["LastName"]! + ", " + dictionary["FirstName"]!)
self.astrUserIDs.append(dictionary["StaffID"]!)
self.pkvUser.reloadAllComponents()
}
self.pkvUser.reloadAllComponents()
}
}
}
,因此您必须决定将哪个导出为裸foo
。然后你只需要隐藏另一个别名。
foo
好吧,它并不是很优雅,但如果你真的需要,这是一种解决方法。