Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios tableView init()层次结构是如何工作的?_Ios_Swift_Uitableview - Fatal编程技术网

Ios tableView init()层次结构是如何工作的?

Ios tableView init()层次结构是如何工作的?,ios,swift,uitableview,Ios,Swift,Uitableview,我正在呼叫NewsFeedTableView,没有参数 但在NewsFeedTableView中,我实际上用参数覆盖了init 这是怎么回事?如何调用此重写的init?您正在使用不带参数的初始值设定项创建NewsFeedTableView。UIView的指定初始值设定项如下: init(frame: CGRect) 在初始化从UIView继承的任何类的过程中,始终会调用指定的初始值设定项。UIView的init初始值设定项将使用CGRect.zero作为参数调用它 现在,查看UITableV

我正在呼叫NewsFeedTableView,没有参数

但在NewsFeedTableView中,我实际上用参数覆盖了init

这是怎么回事?如何调用此重写的init?

您正在使用不带参数的初始值设定项创建NewsFeedTableView。UIView的指定初始值设定项如下:

init(frame: CGRect)
在初始化从UIView继承的任何类的过程中,始终会调用指定的初始值设定项。UIView的init初始值设定项将使用CGRect.zero作为参数调用它

现在,查看UITableView初始值设定项的文档:

如果使用UIView方法initframe:初始化表视图,则默认使用UITableView.Style.plain样式

所以基本上: 1.NewsFeedTableView调用NewsFeedTableViewframe:CGRect.zero 2.NewsFeedTableViewframe:CGRect.zero调用NewsFeedTableViewframe:CGRect.zero,样式:.plain

这就是调用重写的初始值设定项的原因。

您正在使用不带参数的初始值设定项创建NewsFeedTableView。UIView的指定初始值设定项如下:

init(frame: CGRect)
在初始化从UIView继承的任何类的过程中,始终会调用指定的初始值设定项。UIView的init初始值设定项将使用CGRect.zero作为参数调用它

现在,查看UITableView初始值设定项的文档:

如果使用UIView方法initframe:初始化表视图,则默认使用UITableView.Style.plain样式

所以基本上: 1.NewsFeedTableView调用NewsFeedTableViewframe:CGRect.zero 2.NewsFeedTableViewframe:CGRect.zero调用NewsFeedTableViewframe:CGRect.zero,样式:.plain

这就是调用重写的初始值设定项的原因