0

我想在我的 tableViewController 中使用我的 viewDidLoad 函数。如何让 viewDidLoad 在我的控制器中运行?

tableViewController = [[TableViewController alloc] init];
UITableView *tableView = [[UITableView alloc] init];
tableViewController.view = tableView;
....
4

3 回答 3

2

来自 Apple 文档:

在视图控制器将其视图层次结构加载到内存后调用此方法。无论视图层次结构是从 nib 文件加载还是在 loadView 方法中以编程方式创建,都会调用此方法。您通常覆盖此方法以对从 nib 文件加载的视图执行额外的初始化。

所以你可以尝试从NIB实例化它或者覆盖loadView方法。Apple文档的另一个步骤:

如果您无法在情节提要或 nib 文件中定义视图,请覆盖 loadView 方法以手动实例化视图层次结构并将其分配给视图属性。

于 2012-10-09T11:58:13.960 回答
1

viewDidLoad将在实际加载视图时调用,这将在您呈现视图控制器后发生,例如:

  1. 将其添加到导航控制器,

  2. 将其添加到标签栏控制器,

  3. 模态地呈现它。

这是您的代码中缺少的部分。如果你解释你想如何展示你的视图控制器,我可能会提供进一步的帮助。另外,看看这个:展示视图控制器

(我假设您尝试覆盖view表视图控制器的属性的事实只是试图“让事情正常工作” - 但您不需要对此做任何事情,视图控制器将正确设置为里面的表格视图)。

于 2012-10-09T11:58:46.070 回答
0
tableViewController = [[TableViewController alloc] init];
tableViewController.tableView // This is your newly generated tableview

将 tableView 分配给另一个 parentview 后将调用 viewDidLoad

于 2018-07-03T06:46:58.273 回答