我正在使用 x-codes 主从模板。我在 detailView 中有一个按钮,它在 detailViewController 中也有它的动作。在此操作方法中,我需要调用 masterViewController 中的方法。我怎样才能做到这一点 ?
问问题
529 次
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 回答