【发布时间】:2014-02-17 10:35:13
【问题描述】:
在UINavigationController.h 中,我们将属性声明为
@property(nonatomic,getter=isNavigationBarHidden) BOOL navigationBarHidden;
它明确指出它的getter是isNavigationBarHidden,但我不知道为什么我可以通过navigationBarHidden访问它
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.navigationController.navigationBarHidden = YES;
//Shold throw an error here but it compiles
BOOL value = self.navigationController.navigationBarHidden;
}
知道为什么会这样吗?或者我解释错了
编辑
我在Ry’s Objective-C Tutorial - Properties 得到了一些相同的参考
但正在寻找苹果参考。
【问题讨论】:
-
如果你检查 self.navigationController 类和你声明这个属性的 UINavigationController ,它们是相同的还是不同的???因为很有可能 viewController 没有考虑你的 UINavigationController,而是考虑了它的默认 UINavigationController,这就是它没有显示错误的原因。
-
如果 UINavigationController.我正在使用现有的类
-
即使你在你的属性中设置了一个getter,你仍然可以通过navigationBarHidden访问它。指定 getter 只是为了改进类接口的语义。为了更好地理解。
-
这是有道理的,Divya。感谢您的回复。
标签: ios iphone objective-c uinavigationcontroller