Found the issue.
This issue was nothing to do with differable datasource.
public override func layoutSubviews() {
super.layoutSubviews()
render()
}
render function here changes UILayoutContraints that induces another layoutSubviews call.
This was working fine in Sequoia.
Topic:
UI Frameworks
SubTopic:
UIKit
Tags: