0
ContainerViewController
委託方法-delegateMethod
至ChildViewController
。
但在下面的代碼中,-delegateMethod
未被調用。
我認爲這是因爲_childViewController
已經發布。
我該如何修復它才能運行-delegateMethod
?ContainerViewController委託給ChildViewController
ContainerViewController.h
@protocol ContainerViewDelegate <NSObject>
- (void)delegateMethod;
@end
@interface ContainerViewController : UIViewController
@property (nonatomic, assign) id<ContainerViewDelegate> delegate;
@end
ContainerViewController.m
@interface ContainerViewController() {
ChildViewController *_childViewController;
}
//...
- (void)viewDidLoad
{
_childViewController = [[WeeklyViewController alloc]init];
[self addChildViewController:_childViewController];
[self.view addSubview:_childViewController.view];
[_childViewController didMoveToParentViewController:self];
}
- (void)buttonAction {
[self.delegate delegateMethod];
}
ChildViewController.m
@interface ChildViewController() <ContainerViewDelegate>
//...
- (void)delegateMethod {
NSLog(@"succeed!");
}
_childViewController沒有被釋放。當你將它作爲一個子項添加時,ContainerViewController獲得了一個強指針。 – rdelmar