您可以使用委托或块;
使用委托
创建协议:
@protocol SomeProtocol <NSObject>
- (void)someAction;
@end
只需在 HomeViewController.h 中声明一个委托,如下所示:
id<SomeProtocol> delegate;
然后在 MainViewController 的 viewDidLoad 中设置如下:
homeVC.delegate = self;
//some where in MainViewController implement the protocol method
-(void)someAction
{
//do something
}
然后当你按下 homeVC 中的按钮时,只需调用:
if ([self.delegate respondsToSelector:@selector(someAction)]) {
[self.delegate someAction];
}
使用块:
在 HomeViewController.h 中声明一个块属性:
typedef void (^ActionBlock)();
@property (nonatomic, copy) ActionBlock block;
然后在 MainViewController ViewDidLoad 中:
homeVC.block = ^(){
//do something
};
然后当你按下 homeVC 中的按钮时,只需调用:
self.block();