gpt4 book ai didi

ios - tableView init() 层次结构如何工作?

转载 作者:行者123 更新时间:2023-12-01 18:35:12 25 4
gpt4 key购买 nike

我正在调用不带参数的 NewsFeedTableView enter image description here
但在 NewsFeedTableView 中,我实际上用参数覆盖了 init。
enter image description here
这是如何运作的?这个被覆盖的 init 是如何被调用的?

最佳答案

您正在创建您的 NewsFeedTableView使用不带参数的初始化程序。 UIView 的指定初始化器这是这个:

init(frame: CGRect)

在任何继承自 UIView 的类的初始化期间,将始终调用指定的初始化程序。 . init() UIView 的初始化器会用 CGRect.zero 调用它作为参数。

现在,查看 init(frame:style:) 的文档 UITableView 的初始化器:

If you initialize the table view with the UIView method init(frame:), the UITableView.Style.plain style is used as a default.



所以基本上:
1. NewsFeedTableView()来电 NewsFeedTableView(frame: CGRect.zero)2. NewsFeedTableView(frame: CGRect.zero)来电 NewsFeedTableView(frame: CGRect.zero, style: .plain)
这就是为什么您的重写初始化程序被调用的原因

关于ios - tableView init() 层次结构如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60711178/

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