gpt4 book ai didi

ios - navigationController属性在UINavigationController.h中声明,但它是UIViewController的属性

转载 作者:行者123 更新时间:2023-12-01 19:04:33 27 4
gpt4 key购买 nike

我是Ios开发的新手,我正在阅读Big nerd书来学习它。我对“navigationController”感到困惑。
例如,在我的类中是UITableViewController的实例(对于UIViewController的任何子类也是如此),我有以下内容:

[[self navigationController]
pushViewController:detailViewController
animated:YES];

当我查看苹果文档时,此 navigationController似乎是 UIViewController的属性,但是据说它是在 UINavigationController.h中声明的!
我打开了 UIviewcontroler.h,没有 navigationController的属性或方法,但是正如文档所述,它确实在 UINavigationController.h

这根本没有意义。首先,我知道子类继承了父类的属性和方法,但是 UITableViewControler绝不是 UINavigationController的子类,而是UiViewController的子类。所以希望有人能理解我的要求。不从 UINavigationController继承时,如何访问此属性?以及文档如何将其显示为 UiViewController的属性?

最佳答案

UINavigationController.h包含一个UIViewController类别,该类别声明了navigationController属性。

请记住,文件名只是约定-它们实际上对语言没有任何意义。文件中的代码很重要。仅仅因为某些代码位于UINavigationController.h中,并不意味着它位于UINavigationController类中。头文件“属于”一个类完全可以自由地在其他类上声明类别,以帮助它们与头所关注的类进行交互。

关于ios - navigationController属性在UINavigationController.h中声明,但它是UIViewController的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20572690/

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