질문 제목이 정확하면 미리 사과해야합니다. 나는 내가 성취하고자하는 기본적인 흐름을 아래에 요약했다.AppDelegate 내의 글로벌 위임 클래스 만들기
AppDelegate.h
@interface AppDelegate : UIResponder <UIApplicationDelegate, SomeFrameworkDelegate, OtherFrameworkDelegate>
…other init stuff
- AppDelegate.m는
SomeFrameworkDelegate
및OtherFrameworkDelegate
방법을 포함합니다. - 이러한 방법은 주로 서비스와 연결/연결 끊김과 같은 메시지를 출력합니다.
MainViewController은 이러한 위임 방법과 재료를 수행합니다.
- 연결/연결 해제시 UI 작업을 수행하십시오. 등
DetailsViewController는
- 는 MainViewController에서와 동일한 재료를 사용합니다.
참고 :
나는 그때 다른 UI 코드에서, 나는 AppDelegate에의 인스턴스를 생성 할 거라고는 AppDelegate에 전역 변수를 설정하는 거라고 가정
AppDelegate *appDelegate=(AppDelegate *)[[UIApplication sharedApplication]delegate]; appDelegate.isConnected = ... appDelegate.serviceName = ...
어떻게 승 감지 것 메시지가 대리자 메서드에 도착합니까? NSNotificationCenter/NSTimer?
위임 메소드가 실행되면 알림을 게시하거나 appDelegate에서 변수를 폴링하는 타이머를 만듭니다.
그런 뜻입니까? AppDelegate에 몇 가지 변수가 있으며 값을 변경할 때 다른 클래스에 알림을 보내시겠습니까? 그렇다면 KVC를 사용해야합니다. 그렇지 않으면 질문을 완전히 이해하지 못합니다. –
대리자 메서드의 값을 변경하기 때문에 거기에 알림을 게시 할 수 있습니다. 그렇게하면 관심있는 View 컨트롤러가 모두 그에 대한 알림을 받게됩니다. –