사용자 지정 응용 프로그램 대리자를 해결하는 데 약 6 시간이 걸렸습니다. 자습서를 따라해도 오류가 발생합니다!iPhone 대표자와 인스턴스화 된 객체 두 개가 서로 이야기하기
한 개체가 다른 개체와 이야기하는 간단한 방법이 필요합니다.
나는 루트보기가 있습니다. 다른보기가 다음 옵션 목록과 스택에 푸시합니다. 이전 선택을 기반으로 관련 옵션을 보여주는 또 다른보기.
그래서 기본적으로 3 개의보기가 필요하며,보기 3을 사용하여 볼 때 1의 데이터를 다시 볼 필요가 있습니다. popBackToRootViewController .... 이것은 이론상 너무 단순해야하는 큰 두통이되고 있습니다. 이전에 nsuserdefaults에 데이터를 던졌지 만 애플이 제안하는 방식으로 프로토콜을 사용했습니다.
누군가가 나 당신이 공식 규칙을 따르지 않는 경우에도 작동하는 개념을 공식화 :
고마워요.하지만 벽돌 벽에 머리를 두드리는 중입니다. 알아 두어야 할 것은 클래스에서 프로토콜을 선언하거나 데이터를 보내는 곳입니다. 클래스 위임을 self가 아닌 다른 것으로 설정하는 방법에 대해 설명합니다. – MrPink
그게 다릅니다 - 프로토콜은 데이터 흐름을 양방향으로 허용합니다. 프로토콜을 제공하는 클래스의 각 개체는 대리자를 호출하여 정보를 보내지 만 폴링에도이 정보를 사용할 수 있습니다. 캡슐화가 더 의미있는 클래스에 프로토콜을 넣을 것입니다. 프로토콜을 구현하는 클래스도 위임자의 속성이 필요합니다. 위임자를 설정하는 방법은 개발자가 결정합니다. 아웃렛을 아웃 바운드로 설정하는 경우 인터페이스 작성기에서도 할당 할 수 있습니다. 그렇지 않으면 정보를 교환하기 전에 프로그래밍 방식으로 설정해야합니다. – Toastor