我最近偶然发现了这个问题,我想知道为什么会设计成这样。
如果你有一个包含容器视图的UINavigationController
且其中嵌入了一个视图控制器的子控制器,那么为什么这个子控制器的self.navigationController
属性值不会被设置呢?
根据苹果文档上的描述:
在视图控制器层次结构中离当前视图控制器最近的导航控制器。(只读)
@property(nonatomic, readonly, retain) UINavigationController *navigationController 讨论 如果接收者或其任意祖先是导航控制器的子控制器,则此属性包含拥有该导航控制器。如果视图控制器未嵌入到导航控制器中,则此属性为空。
对于我来说,因为它的父级嵌入到导航控制器中,所以我认为它应该把它的引用向下传递给它的子控制器。我错过了什么吗?这种情况不是有很好的理由吗?