未调用 UITableViewController 初始化方法

Posted

技术标签:

【中文标题】未调用 UITableViewController 初始化方法【英文标题】:UITableViewController init method not called 【发布时间】:2010-08-12 14:28:50 【问题描述】:

我在 UISplitViewController 中创建了一个带有 UITableViewController 的 iPad 应用程序(一切正常 :) 因为我希望表格使用 UITableViewStyleGrouped,所以我补充说:

- (id)init

    self = [super initWithStyle:UITableViewStyleGrouped];
    if (self != nil) 
        // Initialisation code
    
    return self;

到根视图控制器并将其包含在 .h 中,但它永远不会被调用。那么,有两个问题,我可以为 UISplitViewController 中的表设置 UITableViewStyleGrouped 吗?如果有,怎么做?

【问题讨论】:

【参考方案1】:

init 不会被调用,可能会调用 initWithStyle: 或 initWithFrame:style:。

编辑:waychick 是对的。 - (id) initWithCoder:(NSCoder *) coder 被调用。

【讨论】:

不...它们都没有被调用。 即使我在应用程序委托中明确调用它,它也不会被调用。 如何/何时在拆分视图中添加表格视图? 在设计时来自 IB。我需要在代码中创建它才能显示它吗? @vakio... 看起来可以解决问题。感谢您的帮助!【参考方案2】:

同样的问题。就我而言

- (id) initWithCoder:(NSCoder *) coder

被称为

【讨论】:

以上是关于未调用 UITableViewController 初始化方法的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewController 未调用 viewWillAppear、viewDidAppear 等

UITableviewcontroller 中的 UITableview - 重新加载时未调用 cellforrowatindexpath

使用情节提要时未调用 UITableViewController 覆盖初始化函数

UITableViewController scrollViewDidScroll:在删除单元格期间未调用

在 UITabBarController 内未调用 cellForRowAtIndexPath

未调用 cellForRowAtIndexPath