0

我正在使用 x-codes 主从模板。我在 detailView 中有一个按钮,它在 detailViewController 中也有它的动作。在此操作方法中,我需要调用 masterViewController 中的方法。我怎样才能做到这一点 ?

4

1 回答 1

1

您需要获取 masterViewController 的引用。使用委托模式。

用这种类型的函数初始化你的 detailViewController:

-(id)initWithDelegate:(id)deleg;

与协议:

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

并在你的 detailViewController 的 .h 中

id delegate;

与协议:

id<myProtocol> delegate;

然后在 .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];
        }
    }

祝你好运^^!

于 2012-05-23T01:37:26.380 回答