Должен ли я назвать имена классов Swift трехбуквенными префиксами, как рекомендовано Objective-C Соглашения: имена классов должны быть уникальными во всем приложении?
Быстрое: требуется префикс класса?
Ответ 1
Нет, вам не нужны префиксы класса в Swift, потому что классы помещаются в пространство, в котором они живут.
Если вам нужно разузнать (например) Array
из Swift и Array
class/struct, которые вы объявили в своем приложении, вы можете сделать это, набрав его как Swift.Array
или MyProject.Array
. Это также работает с расширениями:
extension Swift.Array {
...
}
extension MyProject.Array {
...
}
Ответ 2
Нет, префикс определенно не используется.
Предположим, что ваше приложение имеет 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