子视图控制器在子视图控制器的实现中被以下代码删除:
- (void)commandFinishVC
{
[ self.view removeFromSuperview];
[ self removeFromParentViewController ];
}
子视图控制器及其视图已成功删除,但是如何通知父级呢?-viewDidDisappear 未被调用并且 -viewDidUnload 已被弃用。
从我可以找到的示例中,始终假定父视图控制器是指定要删除的子项的事件的发起者,但是(对我而言)子项在其完成逻辑中应该是自主的。
是否应该通过使用 self.parentViewController 属性并在父视图控制器中使用类似以下内容来调用删除方法?
- (void)commandFinishVC
{
[ childVC.view removeFromSuperview];
[ childVC removeFromParentViewController ];
}