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