【问题标题】:Why Is UITableViewController self.tableView Property Is Nil When Presented in UIPopoverController?为什么 UITableViewController self.tableView 属性在 UIPopoverController 中呈现时为 Nil?
【发布时间】:2010-12-06 00:24:01
【问题描述】:

我有一个基于 nib 的 UITableViewController,它在 iPad 上运行时呈现在 UIPopoverController 中,而在 iPhone 上运行时呈现为“本机”。

在 iPad 上运行时,控制器的 self.tableView 属性在其整个生命周期内为零。作为正常操作的一部分传入 tableView 的委托消息工作正常,并且具有对 table view 的引用。

在 iPhone 上,该属性已设置,并且引用是有效的,正如您所期望的那样。

有什么特定的东西会导致 self.tableView 属性为零?我已经仔细检查了 Interface Builder 中的连接 - Nib 只包含一个表格视图和相关的 UISearchBar 内容。 Nib 中的表格视图设置为视图控制器的视图。

这在两台设备上都是 4.2.1。对此一头雾水,找不到我的错误。

【问题讨论】:

    标签: iphone ios uitableview


    【解决方案1】:

    我发现了我的问题,当然,这是一个编程错误。

    在这种情况下,实现文件顶部的错误 @synthesize tableView 会生成冲突的 getter 和 setter。

    抱歉并感谢那些看过这篇文章的人。

    【讨论】:

      【解决方案2】:

      试试这个...在返回 tableView 对象的方法之一中执行“assert(self.view == tableView);”看看会发生什么。如果断言没有触发,并且我怀疑它不会在 iPhone 或 iPad 中触发,那么只需将 self.view 转换为 UITableView 并执行您需要执行的操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-30
        • 2016-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多