I am working on creating a dynamic list using SwiftUI. Does the SwiftUI List
container reuse the cells similar to UITableView
?
Yes, List
is reusing its ListCoreCellHost
s exactly like the way UITableView
reuses its UITableViewCell
s.
Reference:
Investigating memory usage with Xcode shows that, when the number of the items is more than List
could present at once, it just shows as much as it can and reuses them when they become occluded from the top or bottom of the list
.
By tracing a single cell memory address, you can see it is reused over and over.
Another exciting tidbit is that ListCoreCellHost
uses a hosting view that may refer to UIKit
internally. (Not known well because it lacks documentation)