2017-04-08 10 views
0

타사 개발자가 사용할 iOS 프레임 워크를 구현하고 있습니다. 이 프레임 워크는 사용자 로그인 (LoginView) 및 프로파일에 대한 몇 가지 화면을 제공해야합니다. Framework에는 서버 API와 상호 작용하는 helper 클래스가 있습니다 (예 : connect(), onConnection() 및 여기 onConnection()은 delegate를 사용하는 콜백 메소드입니다.프레임 워크의 iOS 대리자 메소드

타사 응용 프로그램은 프레임 워크를 추가하고 초기 화면으로 LoginView를 사용합니다.

connect(), onConnection()이 LoginView의 일부인 경우 모든 것이 정상적으로 작동합니다.

여기서 connect(), onConnection()이 Helper 클래스의 일부인 경우 OnConnection() 콜백이 호출되지 않습니다.

적절한 위임 방법을 구현하면 해결할 수 있습니다. Helper 클래스를 LoginView의 위임자로 사용하여 시도했습니다. 하지만 작동하지 않습니다.

누군가가 도와 줄 수 있습니까?

+0

코드를 표시하십시오. 코드를 보지 않고도 솔루션을 제안하는 것은 불가능합니다. [mcve] – Paulw11

답변

0

는 다음과 같은 시도 :

  1. 이 YourAuthenticationManaged 같은 위임 클래스를 확인하고 @optional 및 @Required있는 프로토콜을 구현 주어진 제안에 내 이전 대답을 편집.
  2. 수행자를 사용하여 내부에서 호출하고 응답하도록 대리인의 AuthManager 클래스를 만듭니다. 이 AuthManager에서 [_delegate performselector (@selector : connectionstablished :)]를 입력하십시오.
  3. 위임을 AuthManager의 속성으로 노출합니다.
  4. AuthManager가 싱글 톤 클래스 인 것을 선호합니다.
  5. 보기 컨트롤러 또는 기본보기 컨트롤러의 어느 위치에서나보기 컨트롤러 클래스에 Authmanager 대리자 속성을 할당하고 할당합니다.
  6. View 컨트롤러의 구현 클래스에서 대리자를 관찰하십시오.
  7. 일단 connect와 같은 호출을하면 뷰 컨트롤러 내부의 오버 사용 된 대리자에 NSLog를 연결 해제하십시오.
  8. AuthManager에서 수행 작업이 호출되면 트리거되고 관찰되어야합니다.

문제가 있으면 언제든지 알려주십시오. 코딩 즐기기.

+0

을 참조하십시오. 질문은 프레임 워크를 만드는 방법을 묻지 않기 때문입니다. 프레임 워크에서 위임을 사용하는 방법에 대해 묻고 있습니다. 시도한 내용과 발생한 문제를 나타내는 데 필요한 정보가 충분하지 않습니다. – Paulw11

+0

편집이 다른 방식으로 쿼리에 응답하기를 바랍니다. 초기 3 점은 프레임 워크 생성이 동일한 페이지에 있도록하기위한 후속 조치이며 나중에는 위임자를 사용하는 것입니다. –