【问题标题】:How to make a derived UITableVIew work如何使派生的 UITableVIew 工作
【发布时间】:2010-06-02 00:30:04
【问题描述】:

我在 Xcode 项目中创建了一个派生自 UITableView 的新类

然后,我将 UITableView 从界面构建器中拖到我的视图上,并将对象的类更改为我的派生类。然后我将出口从表拖到文件所有者,并将其连接到主视图中的出口变量,该变量与派生类的类型相同。

如何设置数据源和委托,使它们属于派生类?

我的主视图控制器上有两个表视图,其中一个使用该控制器本身,它工作正常。委托和数据源是视图控制器的文件所有者。

但是我的另一个表视图将用于不同的数据,所以我希望它使用在我的派生表视图上实现的数据源和委托。

【问题讨论】:

    标签: iphone uitableview


    【解决方案1】:

    当您单击 UITableView 派生对象时,您是否无法在 Inspector 窗口的 Table View Connections 窗格下看到委托和数据源成员?它应该像从每个文件的所有者拖动一个连接一样简单,或者您想要制作委托/数据源的任何对象。当您所做的只是更改对象的类类型时,我已经看到它们消失了,但是如果您编写标题并确保您的类说它是从 UITableView 派生的,然后返回到 IB,我相信您会再次看到它们。

    (显然 IB2 曾经以您期望的方式处理这个问题 - 在 IB3 中最好先在 Xcode 中派生,然后在 IB 中使用派生类)

    【讨论】:

    • 我想我不确定要将派生类表拖到哪里。我在问题的末尾添加了更多信息。
    • 啊,我明白了,我可以将代理和数据源出口拖到视图上的表本身
    • 不确定这是否有效,我收到 2010-06-01 21:31:20.048 Timers1[11391:207] 事件已加载 50 个 2010-06-01 21:31:20.050 Timers1[11391:207] *** -[UIView tableView:numberOfRowsInSection:]: 无法识别的选择器发送到实例 0x3932940 2010-06-01 21:31:20.051 Timers1[11391:207] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“ *** -[UIView tableView:numberOfRowsInSection:]: 无法识别的选择器发送到实例 0x3932940'
    • 嗯我认为这是stackoverflow.com/questions/254354/…的副本
    猜你喜欢
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    • 2022-01-09
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多