聽起來像是你需要代表團 這裏有一些鏈接:
總的想法是,你定義一個協議。然後,在父控制器中實現該協議。那麼您的孩子控制器引用父控制器協議的一個實例:
@protocol CustomMethodDelegate
-(void)doSomething
@end
讓孩子控制器包含協議的參考父視圖控制器:
@interface ChildViewController:UIViewController
@property (strong, nonatomic) id<CustomMethodDelegate> delegate;
@end
然後有您的父母控制器實現它:
@interface ParentViewController:UIViewController<CustomMethodDelegate>
@end
在父控制器實現DoSomething的: 當你將它作爲一個孩子爭奪讀寫控制,孩子的委託設置爲父控制器
@implementation ParentViewController
-(void)creatingChildViewController {
ChildViewController *controller = [self getNewChildViewController];
controller.delegate = self;
}
#pragma mark - CustomMethodDelegate
-(void)doSomething {
NSLog(@"Something");
}
@end
,然後在子視圖控制器,你可以叫:
[self.delegate doSomething];
這將調用父控制器中的doSomething方法。
你應該代表工作 – EridB