행이 선택 될 때마다 ContactsViewController가 있습니다. MessageViewController가 열립니다 (pushViewController 사용). ContactsViewController와 MessageViewController는 모두 DatastoreDelegate 메시지를 수신하기 위해 '등록'합니다. 이상하게도 내 응용 프로그램을로드 할 때 모두 제대로 작동하지만 MessageViewController로 이동하면 내 ContactsViewController의 대리자 메서드가 더 이상 호출되지 않습니다. 이 두 컨트롤러는 모두 [messageAdded : (Message *) message] 메서드를 처리해야하지만 MessageViewController는 메시지가 한 번 열리면 메시지를 계속 수신합니다.대리인이 호출되지 않습니다.
누구나이 작업을 수행하는 방법에 대한 아이디어가 있습니까?
감사합니다. 대표자가 여러 클래스에 메시지를 보낼 수 있다는 인상하에 있었지만이 가정이 잘못되었다고 생각합니다. NotificationCenter를 사용하거나 코드를 구현하는 다른 방법을 찾아 보겠습니다. –
모든 개체가 여러 클래스에 메시지를 보낼 수 있습니다. 일반적으로 클래스는 * 대리자가 아닙니다. 일반적으로 인스턴스를 대리자로 만 만듭니다. 그리고 대리자가있는 모든 개체에는 하나의 대리자 만 있습니다. 동시에 두 개의 객체를 대리자로 사용할 수 없습니다. 원하는 경우 알림을 사용하십시오. –