gpt4 book ai didi

ios - 使用 navigationBarHidden 作为 getter 属性不会出错

转载 作者:行者123 更新时间:2023-11-28 22:15:31 26 4
gpt4 key购买 nike

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 得到了一些关于相同内容的引用

但正在寻找 apple refernces。

最佳答案

问题是您混淆了属性及其 getter 和 setter。

当您使用:self.navigationController.navigationBarHidden 时,您直接引用该属性,这意味着编译器将根据“=”的位置查看调用 getter 或 setter 的方法"标志。

但是当您使用 [self.navigationController navigationBarHidden]; 时,您显式调用了名为 navigationBarHidden 的方法 这应该会引发错误,因为这样方法不存在,您必须使用实际的 getter 名称:[self.navigationController isNavigationBarHidden];

关于ios - 使用 navigationBarHidden 作为 getter 属性不会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21826675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com