我想在tableViewController中使用我的viewDidLoad函数。 如何在我的控制器中运行viewDidLoad?
tableViewController = [[TableViewController alloc] init];
UITableView *tableView = [[UITableView alloc] init];
tableViewController.view = tableView;
....
答案 0 :(得分:2)
来自Apple文档:
在视图控制器将其视图层次结构加载到内存后调用此方法。无论视图层次结构是从nib文件加载还是在loadView方法中以编程方式创建,都会调用此方法。您通常会覆盖此方法以对从nib文件加载的视图执行其他初始化。
因此,您可以尝试从NIB实例化它或覆盖loadView方法。 Apple文档的另一步:
如果无法在情节提要或nib文件中定义视图,将覆盖loadView方法以手动实例化视图层次结构并将其分配给视图属性。
答案 1 :(得分:1)
viewDidLoad
,这将在显示您的视图控制器后发生,例如:
将其添加到导航控制器
将其添加到标签栏控制器,
以模态方式呈现。
这是您代码中的缺失位。如果您解释如何呈现视图控制器,我可能会进一步提供帮助。另外,请看一下:Presenting View Controllers。
(我假设您试图覆盖表视图控制器的view
属性这只是“让事情变得有效”的尝试 - 但您不需要对此进行任何操作,视图控制器将正确设置其中的表视图。)
答案 2 :(得分:0)
tableViewController = [[TableViewController alloc] init];
tableViewController.tableView // This is your newly generated tableview
在将tableView分配给另一个父视图之后,将调用viewDidLoad