将 tableview 代表移动到不同的类

Posted

技术标签:

【中文标题】将 tableview 代表移动到不同的类【英文标题】:move tableview delegates to different class 【发布时间】:2014-10-28 10:27:56 【问题描述】:

我有一个包含大量操作的视图控制器。大多数视图都是动态创建的。为了分离出代码,我创建了一个作为NSObjectmyClass 的类,我在其中创建了一个函数showMyTableView。此函数将tableview 添加为subview。但我必须在view controller 中写下所有tableview delegates。如何移动需要委托到 myclass?

明天我可能需要添加包含按钮的子视图,我应该在单独的类中为其编写操作。

我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

您的新类应该只处理数据,而不是 ui。

对于不同的表格单元视图,请考虑使用单独的表格视图单元子类并为它们提供数据模型。让他们自己配置

【讨论】:

【参考方案2】:

(“表视图代表”是指您的表视图的delegatedataSource?)

你当然可以把这些东西移到另一个班级。您只需在视图控制器中将表视图的delegate/dataSource 设置为MyClass 的实例,如下所示:

self.tableView.delegate = instanceOfMyClass;

MyClass 可能不应该负责创建表视图并将其添加到视图控制器的视图中。您的视图控制器应自行负责。

【讨论】:

以上是关于将 tableview 代表移动到不同的类的主要内容,如果未能解决你的问题,请参考以下文章

如何使用tableview外的按钮将tableview移动到新的tableview

将超过一半的单元格移动到另一个部分时,Tableview 崩溃

从模型中自动更新 TableView 中的行

为 tableView 单元格投射到正确的对象

滚动到 TableView 的最后一个元素需要太多时间

UITableView——点击某一行移动到指定位置