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];
}
}
행운을 빌어 요 ^^!
이제 initWithDelegate :() 메소드가 내 detailViewViewroller.h에 나열되고 detailViewcontroller.m에 정의되어 있습니다. 나는 또한 나의 행동을위한 코드를 추가했다. 그러나 내가 제공 한 코드의 나머지 부분을 어떻게 처리해야하는지 확신 할 수 없습니다. 일부 도움주세요 .. – pnizzle
중요한 부분은 다음과 같습니다. – xeonarno
if (delegate! = nil && [delegate respondToSelector : @selector (functionFoo :)] { [delegate functionFoo : myArgumentsIfnecessary]; } – xeonarno