有没有办法在Swift中引用当前模块?
Is there any way to reference the current module in Swift?
假设我正在编写一个 swift 模块,我想用一个已经存在的名称来命名一个类型。如果名称来自另一个模块,那很容易。我可以只使用模块名称作为命名空间:
import Foundation
class MyClass {
class Notification : Foundation.Notification { ... }
}
我的问题是,有什么方法可以对同一模块中的类型执行相同的操作吗?例如,我希望能够做这样的事情:
class Notification { ... }
class MyClass {
class Notification : Module.Notification { ... }
}
其中 Module.Notification
是对上面声明的类型的引用。这样的事情可能吗?
您需要使用模块的实际名称:
class Notification { ... }
class MyClass {
class Notification : MyAmazingTwitterApp.Notification { ... }
}
如果您在 Xcode 工作,这将默认为您的目标名称。在 "Packaging" 下有一个构建设置 "Product Module Name",可让您更改它。
如果您使用的是 Swift 构建系统,这当然是通过 PackageDescription
.
在您的清单文件中指定的
假设我正在编写一个 swift 模块,我想用一个已经存在的名称来命名一个类型。如果名称来自另一个模块,那很容易。我可以只使用模块名称作为命名空间:
import Foundation
class MyClass {
class Notification : Foundation.Notification { ... }
}
我的问题是,有什么方法可以对同一模块中的类型执行相同的操作吗?例如,我希望能够做这样的事情:
class Notification { ... }
class MyClass {
class Notification : Module.Notification { ... }
}
其中 Module.Notification
是对上面声明的类型的引用。这样的事情可能吗?
您需要使用模块的实际名称:
class Notification { ... }
class MyClass {
class Notification : MyAmazingTwitterApp.Notification { ... }
}
如果您在 Xcode 工作,这将默认为您的目标名称。在 "Packaging" 下有一个构建设置 "Product Module Name",可让您更改它。
如果您使用的是 Swift 构建系统,这当然是通过 PackageDescription
.