두 개의 클래스, 즉 CompletionView와 PauseView가 있습니다. 각 클래스에는 연결된 대리자가 있습니다. CompletionDelegate에 이미 returnHome이라는 함수가 있으며 PauseView 대리자에서 동일한 기능이 필요합니다. 내 질문은, 내가 중복 기능을 가진 두 가지 기능을 작성해야합니까? 또는 하나의 기능이 두 개의 프로토콜을 만족시킬 수 있습니까? 즉, CompletionDelegate와 PauseDelegate 모두 returnHome을 정의 할 수 있습니까?동일한 기능을 정의하는 두 명의 대표자?
답변
당신은 단지 외부 헤더에서 프로토콜을 정의 할 수 있습니다, 수입 CompletionView 및 PauseView에 대한 공통의 슈퍼 클래스를 생성하고 프로토콜을 정의하고 배치 할 수있는 CompletionView 및 PauseView, 만들고 위임 모두에 해당 외부 프로토콜을 기반으로합니다.
프로토콜이 반드시보기에 직접 연결될 필요는 없습니다.
this answer을 참조하십시오. 그러나 위임 메소드에 특별히 이러한 클래스가 필요하지 않은 경우 @class와 모든 것을 정의 할 필요조차 없습니다. returnHome
을 GeneralUseDelegate
과 같이 정의하고 양쪽보기에서 해당 위임을 정의/사용할 수 있어야합니다.
@protocol GeneralUseDelegate
- (void) returnHome;
@end
테스트하지 않았지만 왜 작동하지 않는지 상상할 수 없습니다.
허용되는 답변보다 나은 답변입니다. – JonahGabriel
그래, 이걸 대신 선택 했어. 내 의견을 읽으면, 내가 한 일이야. ModalDelegate를 만들고 클래스 별 함수를 선택적으로 만들었습니다. –
당신은 거기 위임 속성
나는 비슷한 것을하고있다. 나는 ModalDelegate를 만들고 나서 둘 다 가져올 것입니다. –
- 1. 하나의 클래스의 2 명의 대표자
- 2. 두 명의 액터가 시퀀스 다이어그램에서 동일한 기능을 호출합니다. 대표하는 방법?
- 3. 두 거의 동일한 기능을
- 4. 동일한 이름의 ActiveDirectory에있는 두 명의 사용자
- 5. 두 명의 프로그래머가 동일한 코드로 작업하고 있습니다.
- 6. 두 명의 arraylists가 동일한 요소를 포함하는지 확인하십시오.
- 7. Eclipse : 두 명의 편집자가 동일한 파일을 열었습니까?
- 8. 동일한 포트에 두 명의 수신기가 있습니까?
- 9. 동일한 게임 컴퓨터에 연결된 두 명의 플레이어
- 10. 두 명의 사용자 비교
- 11. 동등성 테스트 대표자
- 12. 한 명의 생산자, 두 명의 소비자 변형
- 13. 대표자 C#
- 14. 안정적인 라우팅 - 두 명의 사용자가 동일한 기능을 수행하는 다른 페이지를 참조하십시오.
- 15. 대표자 발급
- 16. 두 명의 대표단 사용
- 17. C#의 대표자
- 18. Mediaelement.js가 두 명의 플레이어를 표시합니다.
- 19. 동일한 PostgreSQL 데이터베이스를 소유 한 두 명의 소유자
- 20. 두 명의 개발자가 동일한 AdMob 광고 ID를 사용할 수 있습니까?
- 21. 두 명의 사용자가 동일한 데이터베이스에 액세스하거나 다른 데이터베이스에 액세스합니까?
- 22. 두 명의 OpenID 제공 업체를 동일한 사용자로 연결하는 방법
- 23. RichFaces - 하나의 패널 그리드에서 두 명의 형제와 동일한 actionParameter 사용
- 24. FireBase에서 두 명의 사용자가 동일한 상황에서 어떻게 처리해야합니까?
- 25. Django : 동일한 사용자 이름을 가진 두 명의 사용자
- 26. 동일한 m3u8 스트림을 재생하는 두 명의 플레이어 동기화
- 27. 두 명의 APK가 동일한 키로 서명되었는지 찾는 방법은 무엇입니까?
- 28. 두 명의 사용자가 동일한 사용자 이름을 등록하지 못하게하려면 어떻게해야합니까?
- 29. 두 명의 mysql 사용자가 동일한 이름의 데이터베이스를 가질 수 있습니다.
- 30. 동일한 시간에 술어와 함께 두 명의 연산자를 사용할 수 없습니다.
왜 안 되겠습니까? !!!! 가능합니다. – Tirth