0

我有一个带有表格视图的视图。我对 TableViewCells 进行了子类化,以表示我的模型的对象。这个自定义 UITableViewCell 有两个按钮来更改我的模型对象(它使 +1 -1 变为实例变量)。

所以我想我应该如何架构所有这些,我的选择是:

- 我在自定义 tableViewCell 中放置了一个指针,当我收到来自其中一个按钮的通知时,我可能会选择单元格和模型的对象(我不喜欢这个解决方案,因为视图正在改变我的模型,不利于重用细胞太差了)

-在单元类中创建UICustomTableViewCellDelegate协议和实例。id<UICustomTableViewCellDelegate>当我收到来自 UIElement 的消息时,我会打电话给我的代表。委托将指向通用视图的 UIViewController,它有一个包含我的对象的所有实例的数组,并在此处更改模型。在将单元格视图更改为之前。我认为重用还不错,但我将如何从 ViewController 数组中轻松识别和恢复我的对象?我认为方法应该是:

-(void)customTableCellViewButtonPlusPressed:(CustomTableViewCell*) cell;

- 为 CustomTableViewCell 创建一个 viewController 并引用我的对象。他将收到来自单元格的 UIButtons 的消息并更改 cellView 和引用的模型的对象

最佳做法是什么?

4

1 回答 1

1

第三种解决方案是其中最mvc的

  1. 您将拥有一个模型,使其尽可能重,并在模型本身上完成所有功能和计算
  2. 控制器UICustomTableViewCell,这个类将读取模型并在视图上实现它,它还将从视图中获取事件并相应地更改模型
  3. 视图将是UICustomTableViewCellxib 文件,它将包含单元格绘制和实现的信息

模型将包含在 UICustomTableViewCell 中的“具有”关系中 UICustomViewCell 类将能够将绘图功能发送到视图并从视图接收事件并相应地更改模型

于 2012-06-08T12:00:13.983 回答