첫 번째 복잡한 OS X 애플리케이션을 만들었습니다. 이 작업을 수행하면서 NSApplicationDelegate
프로토콜 (Xcode 클래스는 기본적으로 Cocoa 응용 프로그램 용으로 생성 된 클래스, 즉 MyApplicationAppDelegate.m/h
)을 구현하는 클래스를 사용하는 방법에 대해 의문을 제기했습니다.NSApplicationDelegate 클래스 디자인
많은 자습서 (및 서적)에서 사람들이 기본 또는 일반 응용 프로그램 작업을 관리하기 위해 AppController
클래스를 만드는 것을 봅니다. 나는 내 일반 작업을 MyApplicationAppDelegate
에 직접 추가하고 관리해야하는 모듈에 따라 특정 컨트롤러를 만드는 것을 선호합니다.
예를 들어, I는 MyApplicationAppDelegate
다른 창을 여는 데 사용되는 모든 IBAction
(즉 선호 패널을 개방)에 추가 엄격 메인 인터페이스의 특정 모듈/컨트롤러 IBOutlet
들과 연결되지 않은 모든 기능. MyApplicationAppDelegate
에서 내 응용 프로그램에 사용되는 컨트롤러에 대한 모든 참조를 추가합니다. 그것은 본질적입니다.
저는 이것이 좋은 디자인인지 아닌지 확실하지 않기 때문에 정말로 혼란 스럽습니다. MyApplicationAppDelegate
은 다른 목적으로 설계 되었습니까?
나는 코코아의 디자인 패턴에 대해 알고 싶은 모든 제안을 원합니다.