gpt4 book ai didi

objective-c - UITableViewController init 与 initWithStyle

转载 作者:可可西里 更新时间:2023-11-01 05:07:08 25 4
gpt4 key购买 nike

类引用说:

如果您使用标准的 init 方法来初始化 UITableViewController 对象,则会创建一个普通样式的 TableView 。

我不明白,这种行为是从哪里来的——我想在一些代码中看到我或 api 但

  • UITableViewController 在其 api 中没有初始化

  • 一些基类的 init 如何知道派生类的合适默认样式?

感谢每一个提示

最佳答案

每个对象都有一个init 方法,但是很多类都有一个所谓的指定 初始化器。这是主要的初始化器,其他的只是调用指定初始化器的便捷方法。

根据该文档,在这种情况下,init 方法可能看起来像这样:

- (id)init
{
return [self initWithStyle:UITableViewStylePlain];
}

来自父类(super class)的方法不会出现在派生类的文档中,除非派生类重写它并且有重要的说明。这就是为什么您没有在 UITableViewController 中看到 init 的原因,它是 NSObject 的一部分,UITableViewController 从中派生(通过 UIScrollView -> UIView -> UIResponder -> NSObject)。

至于你问题的第二部分:基类可以(应该)永远不知道派生类的任何事情。需要不同默认样式的派生类简单地再次覆盖 init

关于objective-c - UITableViewController init 与 initWithStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5246622/

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