UIViewController的navigationController属性

时间:2013-12-19 23:00:57

标签: ios objective-c uiviewcontroller uinavigationcontroller

我有一个扩展UIViewController的类X.令我惊讶的是,这个类可以有以下代码:

[self.navigationController popViewControllerAnimated:YES];
据我所知,

navigationController是由UINavigationController.h中的类别添加的属性:

@interface UIViewController (UINavigationControllerItem)
@property(nonatomic,readonly,retain) UINavigationController *navigationController;  
@end

我的类扩展了UIViewController,而不是UINavigationController,我看不到这个类别被引用了。我以为我必须导入类别才能访问它声明的成员。那么UIViewController如何访问另一个不相关的头文件中声明的属性呢?

谢谢, 亚诺什

1 个答案:

答案 0 :(得分:1)

根据Apple文档,UIViewController具有navigationController属性:

视图控制器层次结构中最近的祖先,它是导航控制器。 (只读)。 如果接收器或其祖先之一是导航控制器的子节点,则此属性包含拥有的导航控制器。如果视图控制器未嵌入导航控制器中,则此属性为nil。

请参阅UIViewController文档。