답변

1

masterViewController에 대한 참조를 가져와야합니다. 대리자 패턴을 사용하십시오. 프로토콜

-(id)initWithDelegate:(id)deleg; 

:

기능 이러한 유형의 당신의 detailViewController를 초기화

-(id)initWithDelegate:(id<myProtocol>)deleg; 

및 프로토콜 detailViewController

id delegate; 

당신의 .H에 있었다 :

다음 세부하는 .m에서

:

함수에서 다음
-(id)initWithDelegate:(id)deleg 
{ 
    self = [super init]; 
    if(self) 
    { 
     delegate = deleg 
    } 
    return self; 
} 

-(IBAction)actionOfmyButton 
    { 
     if(delegate != nil && [delegate respondToSelector:@selector(functionFoo:)]) 
     { 
      [delegate functionFoo:myArgumentsIfnecessary]; 
     } 
    } 

행운을 빌어 요 ^^!

+0

이제 initWithDelegate :() 메소드가 내 detailViewViewroller.h에 나열되고 detailViewcontroller.m에 정의되어 있습니다. 나는 또한 나의 행동을위한 코드를 추가했다. 그러나 내가 제공 한 코드의 나머지 부분을 어떻게 처리해야하는지 확신 할 수 없습니다. 일부 도움주세요 .. – pnizzle

+0

중요한 부분은 다음과 같습니다. – xeonarno

+1

if (delegate! = nil && [delegate respondToSelector : @selector (functionFoo :)] { [delegate functionFoo : myArgumentsIfnecessary]; } – xeonarno

관련 문제