어리석은 질문입니다 (미안).하지만 대개 내 앱에서 다른 사람의 VC를 상속받을 수있는 rootVC가 있습니다. 그래서이 루트의 배수 인스턴스가 있다는 것을 알게되었습니다. 다른 모든 VC와 상속받을 RootViewController를 만드는 것이 좋습니다.
let window = UIWindow(frame: UIScreen.main.bounds)
let root = SplashViewController(nibName: "SplashViewController", bundle: nil)
window.rootViewController = UINavigationController(rootViewController: root)
window.makeKeyAndVisible()
self.window = window
그런 다음 내
RootViewController
에서
SplashViewController
상속은 좀보기 설정을 할 수있는 예를 들어,
AppDelegate
에 나는 나의 첫 번째보기를 호출합니다. 그러나, 내 루트에서 상속받는 다른 VC (예 :
InitialViewController
)를 호출하면 루트에서 새 인스턴스를 만들거나 동일한 인스턴스를 사용하고 있습니까? 그리고 그것이 좋은 연습이라고 생각합니까?
나는 읽기 및 검색하지만 난 찾거나 API를 참조 명확하게 이해할 수 없었다되었다 https://developer.apple.com/reference/uikit/uiviewcontroller
어떤 제안을? 미리 감사드립니다!
당신이 @werediver 감사 좋아하는 이유 당신이 얼마나,
이것은이 생각! 실제로 나는 작곡에 대해 들어 본 적이 없다고 생각합니다. 그래서 내가 상속 받게 될 나의 어머니 계급은 어떤 종류입니까? UIViewController? (할 수 없었다, 그렇지?). 그 루트 (내가 사용하고 있지만이 교장에 대해 생각 해본 적이 없다)를 안전하게하려면 정적을 사용할 수 없습니까? 정적으로 인스턴스화를 하나만 허용하지 않습니까? 내 걱정은 생성 된 첫 번째 호출 외에도 매번 루트를 인스턴스화하는 것입니다 (메모리 누수 생성). 내가 명확하지 않다면, 여기에 제한된 영어를 유감스럽게 생각한다. – Gehlen
@Gehlen 구성과 상속은 OOP의 중요한 개념이므로 시도해 보자. 상속 트리는 UIViewController와 같이 임의의 깊이 일 수있다. >'MyBaseViewController' ->'SettingsScreenViewController'를 참조하십시오. 'SettingsScreenViewController'의 각 인스턴스는'MyBaseViewController'와'MyBaseViewController'를 모두 가지게됩니다.하지만 그건 누출이 아니며 의도적으로 설계된 것입니다. 그것은'SettingsScreenViewController'의 각 인스턴스가 독립적으로 작동하도록 허용합니다. – werediver
멋진 @werediver! 내 개념이 틀렸어 .. 나는 작곡을 살펴볼거야. 다시 한 번 감사드립니다! – Gehlen