For starters, there’s well over a decade of implementation behind these properties and the different cell styles, with layers upon layers of complexity to preserve binary compatibility with all the apps using them. (Old apps in the App Store need to keep working without updates!)
Unfortunately, because these built-in cell textLabel/imageView properties expose the entire API surface of UILabel/UIImageView, that means apps are doing all sorts of unexpected things to these views that weren’t intended to be supported (but aren’t explicitly disallowed, either)
This makes it very difficult to add new features — such as the new sidebar cell styles introduced in iOS 14 — or even fix bugs without breaking existing apps, which means even more layers of compatibility and complexity must be added to the implementation.
When these properties are eventually deprecated in the future, they won’t be removed; they will continue to work as well as they do today. But they won’t get new features or fixes; it’s important to make this clear so new code will use modern APIs that can be supported long term.
The new configuration types (like UIListContentConfiguration) are designed to bring a shared API and modern implementation to both UITableView and UICollectionView at the same time. They’re familiar and easy to use, but are more powerful and designed to be maintainable long term.
The WWDC session Modern Cell Configuration goes into more detail about the new APIs, including the design principles behind them and how they can help simplify your code: developer.apple.com/videos/play/ww…
• • •
Missing some Tweet in this thread? You can try to
force a refresh