나는 iOS에서 왔으며 Cocoa를 배우기 시작했습니다. iOS에 iPad
및 iPhone
에 대한 타겟이 여러 개 있지 않으면 우리는 보통 하나의 창을 가지고 UIViewControllers
을 사용하여 화면을 관리합니다. 새로운 화면은 대부분 UIViewController
에 매핑됩니다.NSWindowController와 NSViewController의 차이점
그러나 코코아에서 이것은 새로운 화면/창을 NSWindow
으로 관리하고 그 하위 구성 요소는 NSViewController
으로 관리됩니다. 그래서 여러 창 응용 프로그램이 있다면 각 창마다 NSWindowController
을 구분해야합니다.
이 방법이 맞습니까? 아니면 오해가 있습니까?
당신이 여기서 말하지 않은 것은 분명합니다. 당신이 iOS에서 왔고 이제 MacOS에서 프로그래밍 작업을 시작 했습니까? –
iOS 부분에 약간 뒤로 있습니다. 'UIViewController'는'UIWindow'를 관리하지 않습니다 -'UIWindow'는'UIViewController'를 관리합니다. 일반적으로 UIViewController는 한 번에 하나 밖에 없지만 (iOS5에서 자식보기 컨트롤러로 변경됨) UIWindow의 하위 구성 요소입니다. 예를 들어, UIWindow에는 rootViewController 속성이 있지만 viewcontroller에는 window 속성이 없습니다. 이제 OSX를 사용하면 여러 개의 NSWindow를 가질 수 있지만 여전히 NSViewController를 관리합니다. 즉, 계층 구조입니다 : 창> ViewController>보기 – CrimsonDiego
고마워, 그래, 나는 IOS 배경에서 오는거야 :) 내 Mac 응용 프로그램에 여러 개의 별도의 윈도우가 있다고하자. 각 윈도우가 windowController 또는 viewController에 매핑되는 베팅 방식은 무엇입니까? 예를 들어 xCode에서 파일을 두 번 탭하면 새 창이 열립니다. – rustylepord