Подтвердить что ты не робот

Быстрое: требуется префикс класса?

Должен ли я назвать имена классов Swift трехбуквенными префиксами, как рекомендовано Objective-C Соглашения: имена классов должны быть уникальными во всем приложении?

4b9b3361

Ответ 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