2

我记得在 MonoTouch 中(仍然是?)有必要保留对UITableViewCells返回的显式引用UITableViewSource.GetCell()以避免收集托管单元格。机智关于这个问题,我有一些问题:

  • 从 MonoTouch 5.2.12 开始:是否仍然需要ArrayList()与创建并返回 GetCell() 的托管单元格保持一致?
  • 如果我使用 Storyboards 和动态单元原型,我从不明确创建UITableViewCellDequeueReusableCell()仅使用。这个案子怎么办?
  • 怎么样GetViewForHeader()?我是否必须保留对从该方法返回的视图的引用?还是 MonoTouch 在内部处理这个问题?
4

2 回答 2

1

据我所知,唯一需要保存对单个单元格的引用的情况是,如果您对它们都有一个委托并且该单元格不是自定义类。

如果您将 UITableViewCell 子类化,则不需要保存任何引用。

如果你没有设置任何委托,你也不应该需要持有任何引用。

于 2012-06-27T16:27:36.550 回答
0

如果有任何帮助,MonoTouch.Dialog 也不会保留对 Cell 的引用,至少我记得没有看到!只是制造它并传递它。(也发布在问题上)

考虑一下,您不应该保留对单元格的引用,因为它们被设计为可重用....因此您可能无法在下一次 GetCell / GetCellForReuse 类型调用中获得相同的单元格。

于 2012-06-27T14:54:18.397 回答