有没有办法在Swift中引用当前模块?

时间:2017-09-18 07:57:03

标签: swift swift4

让我们说我正在写一个swift模块,我想命名一个名字已经存在的类型。如果名称来自其他模块,那很简单。我可以使用模块名称作为命名空间:

import Foundation

class MyClass {
    class Notification : Foundation.Notification { ... }
}

我的问题是,有没有办法对同一模块中的类型做同样的事情?例如,我希望能够做到这样的事情:

class Notification { ... }

class MyClass {
    class Notification : Module.Notification { ... }
}

其中Module.Notification是对上面声明的类型的引用。这样的事情有可能吗?

1 个答案:

答案 0 :(得分:1)

您需要使用模块的实际名称:

class Notification { ... }

class MyClass {
    class Notification : MyAmazingTwitterApp.Notification { ... }
}

如果您在Xcode中工作,则默认为您的目标名称。在“打包”下有一个构建设置“产品模块名称”,可以让您更改它。

如果您正在使用Swift构建系统,那么当然会在您的清单文件中通过PackageDescription指定。