yep, the UI Layer not manipulating data directly and thus delegating to either controller/view-model is separation of concerns (where business or domain logic doesn't need to be tied(directly) to the views - though they can be packaged separately and expose only public interfaces for consumption by view).
By doing tight coupling, mocking becomes a problem when doing isolated component testing or integration testing.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: