Swift: Необходим Префикс Класса?
должен ли я дать моим именам классов Swift трехбуквенный префикс, как рекомендовано соглашения Objective-C: имена классов должны быть уникальными во всем приложении?
2 ответов:
нет, вам не нужны префиксы классов в Swift, потому что классы находятся в пространстве имен модуля, в котором они живут.
Если вам нужно устранить неоднозначность между (например)
Arrayот Swift и anArrayclass / struct, который вы объявили в своем приложении, вы можете сделать это, введя его какSwift.ArrayилиMyProject.Array. Это также работает с расширениями:extension Swift.Array { ... } extension MyProject.Array { ... }
нет, префикс определенно не neeeded.
предположим, что ваше приложение имеет
MyAppимя, и вам нужно объявить свой пользовательскийUICollectionViewController.вы не нужно для префикса и подкласса, как это:
class MAUICollectionViewController: UICollectionViewController {}делай так:
class UICollectionViewController {} //no error "invalid redeclaration o..."почему?. Потому что то, что вы объявили, объявлено в модуль, который является вашим цель. И
UICollectionViewControllerотUIKitобъявляется вUIKitмодуль.как использовать его в текущем модуле?
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
Comments