공개적으로 허점이있을 위험이 있으므로 앱 컨트롤러와 창 컨트롤러 간의 통신에 대한 이해를 누군가가 이해할 수 있기를 바랍니다. 다음은 xcode4를 사용하는 시나리오입니다.앱 컨트롤러와 창 컨트롤러 간의 참조
기본 AppDelegate.h 및 .m을 "컨트롤러"(MainMenu.xib의 대리인이기도 함)로 사용. int counter라고 불리는 ivar를 가져라.
작성된 page.xib 및 PageController.h 및 .m (서브 클래스 NSWindowController).
사용 된 IBAction을 사용하여 페이지 개체를 만들고 볼 수 있습니다. (PAGE1!의) { PageController * PAGE1 = [[페이지
if (!page1) {
page1 = [[PageControoer alloc] initWithWindowNibName:@"page"];
}
[page1 showWindow:sender];
그래서 새 창 팝 우리는 버튼을 누를 수 등 새 창에 대한 코드는 PageController.h 모든 경우 : 이것처럼 및 .m. 그리고 기본적으로 작동합니다.
그건 문맥입니다, 여기 제가 혼란스러워하는 곳입니다.
a) 질문 : AppController에서 counter라는 AppDelegate.h의 원래 ivar에 액세스하려고한다고 가정 해 봅시다. 변수를 검색하거나 업데이트하십시오. 어떤 접근 방식을 취할 것인가?
b) 확인 : AppDelegate로 돌아가서 page1의 선택기에 액세스하려고한다고 가정 해 보겠습니다. 나는 이렇게 할 수 있다고 믿는다 : [page1 runaction]; 또는 [[page1 variable] setStringValue : @ "hello"]; (이것은 준수하지만 xib보기로 변경 사항을 얻을 수 없기 때문에 실제로 작동하는지 잘 모르겠습니다.)
ok 및 stumper. 다른 뷰 컨트롤러가 Page2Controller.h 및 .m을 호출하여 다른 뷰가 생성되었다고합시다. c) 페이지와 페이지 2 사이의 데이터 흐름은 AppDelegate를 통해 또는 직접 어떻게해야합니까? 그 (것)들을 함께 연결하기 위하여 구문은 어떻게 보일 는가 것입니다?
나는 튜토리얼을 따라 왔지만이 앞뒤 메시징을 실제로 다루지는 않는다. 모든 도움에 감사드립니다!
도움 주셔서 감사합니다. 그건 의미가 있습니다. 나는 모델을 만들고 사용하고 여전히 코코아에 익숙해지는 튜토리얼을 작성하려고 노력 중이다. 이 질문은 좋은 GUI와 함께 몇 가지 명령 줄 기능을 래핑하고있는 응용 프로그램과 관련이 있습니다. 다시 - 많은 감사합니다. – CocoaEv