如果viewController在navigationStack中(可能是堆栈顶部),则 它会自动拥有self.navigationItem吗?
我一直看到self.navigationItem和self.navigationController在问题和教程中没有太多上下文,并想知道设置变量的位置。
答案 0 :(得分:1)
是,如果它在堆栈中确实有self.navigationItem
,如果它不在导航堆栈self.navigationItem
中将等于nil
此属性在目标c类扩展
中定义@interface UIViewController (UINavigationControllerItem)
它定义了与UIViewController
navigation controller
的属性
答案 1 :(得分:0)
是的,您将看到添加到导航控制器堆栈的每个控制器中设置的self.navigationItem
和self.navigationController
属性。调用pushViewController:animated
或initWithRootViewController:
后,即可设置这些属性。
答案 2 :(得分:0)
除非您明确说明,否则它们不是由您设定的。您还没有直接分配其他属性,例如:
self.tabBarController;
self.parentViewController;
这就是为什么在尝试访问房产之前应该检查它是否为nil
。