![]() |
1
2
使用不同的标识符创建每个单元类型(即使它们使用相同的单元类)。因此,如果您有两个单元格类型,请定义两个标识符并将它们分开。
我不知道你的问题在哪里。你有一堆细胞,有外观A,然后用户采取一些行动,他们需要成为外观B。如果你调用
|
![]() |
2
0
更新 这不管用。从dequeueusablecellWithIdentifier返回的单元内存永远不会释放。 如果使用非nil ReuseIdentifier初始化单元格,则在释放TableView本身之前,不会释放该单元格。即使调用了[[TableView ValueForkey:@“ReusableTableCells”]RemoveAllobjects],也是如此。不幸的是,TableView将单元保留在其他私有成员中,唯一释放单元的方法是销毁TableView。 简短的回答 如何清除TableView单元缓存这个问题的标题的答案是,Apple不提供“ClearReusableCells”功能,但是它相当容易实现自己。只需跟踪上次清除TableView缓存的时间,并跟踪创建单元格的时间。如果单元格是在TableView上次缓存刷新时间之前创建的,则该单元格被认为是脏的。 选择
实施 有多种方法可以跟踪TableView的缓存刷新时间和单元创建时间。我在下面展示了一种使用子类的机制。当然,要使其工作,您需要确保实例化表和单元格的代码实例化子类。
|
![]() |
WkWk · Apple Watch动作通知不起作用 3 年前 |
![]() |
Otavio Miguel · 在手机中保留我自己未发布的ios应用 3 年前 |
![]() |
Nico Passaglia · 移动键盘向上移动站点 6 年前 |