Я видел ряд ссылок на использование private init
в Swift ограничить строительство объекта (например, this), но это не представляется возможным, когда я пытаюсь (в Xcode 7.2.1 Playground):Нет больше `private init` в Swift?
class C {
private init() {}
}
var c = C() // No errors.
Am Я что-то пропустил или это на самом деле ошибка?
Не уверен, но я считаю, если ваш класс подклассифицирован из 'NSObject', то он может ** аннулировать ** инициализацию' private' и разрешить больше экземпляров. – Honey
Нет, это просто «личное пространство для файлов» в Swift 2. В Swift 3 есть два разных уровня доступа: теперь true 'private' и этот старый' fileprivate'. – werediver
Что я знаю. Я указывал на это как на * другую * причину – Honey