self.navigationItem可用于任何类吗?

时间:2012-06-28 07:29:24

标签: ios uinavigationcontroller uinavigationitem

如果viewController在navigationStack中(可能是堆栈顶部),则 它会自动拥有self.navigationItem吗?

我一直看到self.navigationItem和self.navigationController在问题和教程中没有太多上下文,并想知道设置变量的位置。

  • 编辑
哇谢谢快速回答 我在哪里可以看到官方文档中的信息(关于self.navigationItem)?

3 个答案:

答案 0 :(得分:1)

是,如果它在堆栈中确实有self.navigationItem,如果它不在导航堆栈self.navigationItem中将等于nil

此属性在目标c类扩展

中定义
@interface UIViewController (UINavigationControllerItem)

它定义了与UIViewController

相关的navigation controller的属性

答案 1 :(得分:0)

是的,您将看到添加到导航控制器堆栈的每个控制器中设置的self.navigationItemself.navigationController属性。调用pushViewController:animatedinitWithRootViewController:后,即可设置这些属性。

答案 2 :(得分:0)

除非您明确说明,否则它们不是由您设定的。您还没有直接分配其他属性,例如:

self.tabBarController;

self.parentViewController;

这就是为什么在尝试访问房产之前应该检查它是否为nil