![]() |
1
2
使用不同的标识符创建每个单元类型(即使它们使用相同的单元类)。因此,如果您有两个单元格类型,请定义两个标识符并将它们分开。
我不知道你的问题在哪里。你有一堆细胞,有外观A,然后用户采取一些行动,他们需要成为外观B。如果你调用
|
![]() |
2
0
更新 这不管用。从dequeueusablecellWithIdentifier返回的单元内存永远不会释放。 如果使用非nil ReuseIdentifier初始化单元格,则在释放TableView本身之前,不会释放该单元格。即使调用了[[TableView ValueForkey:@“ReusableTableCells”]RemoveAllobjects],也是如此。不幸的是,TableView将单元保留在其他私有成员中,唯一释放单元的方法是销毁TableView。 简短的回答 如何清除TableView单元缓存这个问题的标题的答案是,Apple不提供“ClearReusableCells”功能,但是它相当容易实现自己。只需跟踪上次清除TableView缓存的时间,并跟踪创建单元格的时间。如果单元格是在TableView上次缓存刷新时间之前创建的,则该单元格被认为是脏的。 选择
实施 有多种方法可以跟踪TableView的缓存刷新时间和单元创建时间。我在下面展示了一种使用子类的机制。当然,要使其工作,您需要确保实例化表和单元格的代码实例化子类。
|
![]() |
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 6 月前 |
![]() |
routern · 如何组合contextMenu和圆角矩形? 6 月前 |
![]() |
DevHome98 · 3D触摸不适用于设备swift 1 年前 |
![]() |
dunoiww · 从全屏返回时如何触发onAppear 1 年前 |
![]() |
Community wiki · iPhone上ivar的继承问题 1 年前 |
![]() |
Community wiki · 查找iOS日历 1 年前 |
![]() |
Community wiki · 有效的IPhone编程技术[关闭] 1 年前 |