2013-02-09 3 views
3

창 컨트롤러 내가[NSWindowController initWithWindowNibName : owner]의 창 컨트롤러 이외의 소유자입니까? 내가 알고 싶은 무엇

NSWindowController *c=[[NSWindowController alloc] initWithWindowNibName:@"Win" owner:myObj] 

와 myObj로는 컨트롤러 자체가 아닌 경우이 파일 Win.xib에서 제어해야하는 창 알 초기화 않는 방법입니까? 일반적으로 콘센트에 IB 창을 설정할 수 있도록 창 컨트롤러를 소유자로 설정합니다. 소유자가 아니더라도 창 관리 프로그램이 메모리 관리를 모두 수행합니까?

답변

1

창 컨트롤러는 소유자가 아닌 경우에도 최상위 수준 개체의 메모리 관리를 수행합니다. NSWindowControllerclass reference에서 :에 관계없이 파일의 소유자가 누구의

, 윈도우 컨트롤러는 nib 파일이 로드에있는 모든 최상위 객체를 자유롭게에 대한 책임이있다.

창 제어기 비록 일반적 NIB의 소유자이며, 그 창 접속 배출구는 제어 된 윈도우 아는 방법 일반적이다. -setWindow: 메서드를 사용하여 명시 적으로 설정할 수도 있습니다.

NSWindowController은 NIB의 최상위 객체를 검색하여 콘센트가 연결되지 않았는지 제어 할 수 있다고 생각하지만 그럴 것이라고는 생각하지 않습니다.

이해 못하는 행동을 보았습니까? 그게 뭐야?