Swift:类前缀是否需要?

我应该给我的Swift类名称一个三个字母的前缀由Objective-C约定推荐:类名称必须在整个应用程序中是唯一的 ?

不, 你不需要Swift中的类前缀 ,因为类是命名空间的模块,他们居住。

如果你需要在你的应用程序中声明(例如)一个Swift Array和一个Array类/结构体之间的Swift.Array ,可以将它作为Swift.ArrayMyProject.Array 。 这也适用于扩展:

 extension Swift.Array { ... } extension MyProject.Array { ... } 

不,前缀绝对不是必须的。

假设您的应用程序具有MyApp名称,并且您需要声明您的自定义UICollectionViewController

不需要这样的前缀和子类:

 class MAUICollectionViewController: UICollectionViewController {} 

像这样做:

 class UICollectionViewController {} //no error "invalid redeclaration o..." 

为什么? 。 因为你声明的是在当前模块中声明的,这是你当前的目标UIKit UICollectionViewControllerUIKit模块中声明。

如何在当前模块中使用它?

 var customController = UICollectionViewController() //your custom class var uikitController = UIKit.UICollectionViewController() //class from UIKit 

如何区分他们从另一个模块?

 var customController = MyApp.UICollectionViewController() //your custom class var uikitController = UIKit.UICollectionViewController() //class from UIKit