【问题标题】:Two different UITableViewCells with same xib [duplicate]具有相同 xib 的两个不同 UITableViewCell [重复]
【发布时间】:2018-05-09 13:57:44
【问题描述】:

我有两个 UITableViewCell,它们看起来完全相同,但每个都有完全不同的逻辑。 所以我想用相同的xib创建两个UITableViewCell。

每个单元格的逻辑不同,我不想与ifs 进行代码拆分。

我该怎么做?

【问题讨论】:

  • @the4kman 你的链接没有回答我的问题。这不是一个重复。
  • 怎么回事?它处理完全相同的问题。
  • 我的问题不是关于子类...

标签: ios swift


【解决方案1】:

如果它的 UI 与您不应该创建两个 UITableViewCell 相同。

你可以在同一个 uitableview 类中编写两个不同的 updateView 方法。

这样您可以重复使用代码,如果有设计更改,您只需在一个地方进行更改

【讨论】:

  • 这不能解决我的问题。
  • 您能否详细说明您的问题?
  • 你的建议是有一个包含所有代码的类。正是我想要避免的。
  • 您仍然可以创建一个类并创建两种不同的协议。你的班级应该确认这两个协议。这样你就可以分离你的逻辑部分
  • 使用 valueToBeDisplayed 属性为 viewModel 创建一个协议。创建 2 个实现上述协议的视图模型。在一个单元格中说要显示名字,在第二个单元格中说要显示姓氏。所以 viewModels 可以有一个属性 valueToBeDisplayed 并将各自的值分配给各自的模型。单元格应具有此 viewModelProtocol 的属性。在 cellForRowAtIndexPath 方法中,将 viewModel 分配给您的单元格。在单元格中,只需将 valueToBeDisplayed 设置为您的标签。
猜你喜欢
  • 1970-01-01
  • 2021-11-12
  • 1970-01-01
  • 1970-01-01
  • 2014-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-12
相关资源
最近更新 更多