У меня есть два класса: ClassA
и ClassB
.Управление классом в swift
ClassA
одноэлементно, который выглядит следующим образом:
class ClassA {
class var sharedInstance: ClassA {
struct Singleton {
static let instance = ClassA()
}
return Singleton.instance
}
private (set) var classB = ClassB()
init() {
}
}
ClassA
можно только инициализировать ClassB
, который работает отлично. Моя ClassB
выглядит следующим образом:
class ClassB {
init() {
}
}
Теперь я хочу ClassB
быть доступны только по ClassA
, а не каким-либо другим классам в проекте. Например, ClassC
не должен быть в состоянии инициализировать ClassB
так:
class ClassC {
private var classB = ClassB()
}
Как исполнять это поведение?
Возможно, вам не нужно определять 'struct' для создания« Singleton Class ». Посмотрите на это 'class ClassA {static let sharedInstance = ClassA()}' –
Вы также должны сделать одиночный инициализатор singleton приватным – Hamish