2010-08-08 5 views
2

이 언어로 문제가 계속 발생합니다.개체 간 통신 방법

자, 두 개체가 있다고 가정 해 보겠습니다. 첫 번째는 응용 프로그램 대리인이고 두 번째는 주 메뉴를 구성하는 다양한 단추가 포함 된 사용자 지정보기입니다. 버튼을 클릭하면 응답하는 메뉴입니다. 그러나 적절한 변경을 구현하려면 응용 프로그램 대리자 (예 : Window)에서 특정 인스턴스 변수를 사용해야합니다. 이 경우 주 메뉴를 제거하고 새보기로 바꾸기를 원합니다. 즉, 주 메뉴는 응용 프로그램 대리인에 보관 된 메서드를 트리거해야합니다.

그럼 어떻게해야합니까?

답변

5

나는 웹 사이트에서 블로그 게시물을 작성하여 대리인 설정을 설명 할 수있는 가장 간단한 방법으로 프로세스를 추출합니다.

http://www.dosomethinghere.com/2009/07/18/setting-up-a-delegate-in-the-iphone-sdk/

+0

Brilliant! 고마워요 BP, 그 블로그 게시물 정확히 내가 뭘 찾고 있었어! 커스텀 오브젝트 디자인의 근본적인 부분인데, 애플의 자체 파일에 그 특별한 성격의 튜토리얼이 왜없는 이유는 정말로 생각할 수 없다. – Ash

+0

문제가 없지만, Apple의 설명서가 다소 길어서 뭔가 특별한 것을 필요로 할 때 어려워 질 수 있다는 것을 알게되었을 때가 있습니다. 코드를 조정하고, 수정하고, 재미있게 만들고, 비정상적으로 재미있는 작업을 수행하십시오. 그리고 언제든지 내 대답 옆의 작은 체크 표시를 클릭 할 수 있습니다 ... : D –

3

선호하는 방법은보기 컨트롤러에 대한 대리인 프로토콜을 만드는 것입니다. 그러면 애플리케이션 위임자가이 프로토콜을 구현하고 View Controller를 대신하여 작업 할 수 있습니다.

Delegation in the Cocoa Fundamentals Guide 부분을 확인하십시오. Modal View Controllers에 대한 문서를 읽으십시오.이 작업은 수행하려는 작업과 매우 유사합니다. 거기에 몇 가지 코드 예제가 있습니다.

+0

지금까지 정보를 제공해 주셔서 감사합니다. 나는 이미이 문서들을 보았고 프로토콜이 갈 길이라고 의심했다. 그러나 실제로 사용자 지정 프로토콜을 만드는 방법에 대한 좋은 정보를 찾는 데 어려움을 겪고 있습니다. 예를 들어 신고해야 할 곳, 신고해야 할 대상, 신고 할 때 어떻게 대응할 수 있습니까? 그것은 엄청난 양의 자료를 통해 개발자 가이드에서 검색 기능에 특정적인 것을 찾는 실제 시험입니다. 누구든지 프로토콜 작성을위한 좋은 자습서를 제안 할 수 있습니까? – Ash

+0

BP 응답의 링크는 필요한 단계를 자세히 설명합니다. 다음 블로그 게시물을 확인할 수도 있습니다. http://jonsterling.github.com/2009/08/01/using-custom-delegates-in-objective-c.html – ksoderstrom

+0

애쉬 : Objective-C 프로그래밍 언어 문서에서 프로토콜 구문을 자세하게 설명합니다. http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProtocols.html 다른 메소드를 구현하는 것과 같은 방법으로 메소드를 구현합니다. 클래스가 프로토콜을 준수한다고 선언하는 것은 해당 프로토콜에서 구현해야하는 모든 메소드를 구현한다는 약속 일뿐입니다. –