我有一个表格视图,其中单个原型单元仅使用了3次。此单元格上有一些按钮,可触发在单元格中显示和隐藏内容。
我可以重用单元格,但是需要大量重置每个单元格,以便如果我扩展A的内容,则B的内容在加载时不会扩展。此外,这要求我在Controller类中保留状态记录,在这里我希望所有这些都由Cell本身进行处理以实现模块化。换句话说,将每个单元保持在正确阶段的工作量似乎效率低下。
解决这个问题的最佳方法是什么?我是否使用静态电池?有没有办法实例化3个相同类型的单独单元格并将它们放置在TableView中?
答案 0 :(得分:0)
您当然可以在单元格内部包含所需代码的模块化部分。如果您不想重复使用单元格,则为每种单元格类型添加一个带有case
的自定义初始化程序。在委托方法cellForRow
中:
return CustomCell(type: .myCustomType)
如果以这种方式进行操作,则可以在单元格的初始化程序内添加一个开关,并根据该单元格的类型来设置它们。我假设“静态”是指三个实例。您通过告诉委托人它将需要的单元格数量“添加”到表中,依次调用cellForRow
x 次。