Obj A가 Obj B에게 대리인 메시지를 보내고 단추를 눌렀을 때와 같은 시나리오가 있습니다. Obj B는 위임 호출을 기반으로 일부 동작을 수행합니다.대리자 메시지는 항상 반환 형식으로 void가 있어야합니까?
Obj A는 위임 메시지가 호출 된 후 발생한 결과를 바탕으로 화면에 무언가를 표시하려고합니다.
라고 말하면 Obj B는 작업이 수행 된 횟수를 나타내는 카운터를 유지 관리합니다.
그래서 Obj A가 버튼을 누르고 델리게이트 메소드를 호출 할 때 델리게이트 메소드가 현재 카운터에서 값을 반환하는 것이 좋은가요?
Obj A가 카운터 업데이트 값을 표시 할 수 있도록합니다.
이 경우 동일한 메시지가 대리인과 데이터 소스로 모두 작동합니다.
나를 위해 Obj A는보기이고 Obj B는보기 컨트롤러입니다.
구현에 결함이 있습니까?
델리게이트는 특별한 것이 아닙니다. 액세스하려는 일부 기능을 포함하는 클래스/인스턴스/메소드 일뿐입니다. 예를 들어, 상자의 파일 시스템을 대리인 세트로 볼 수 있습니다. 사용자는이를 호출하고 서비스를 수행합니다. –