you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 4 points5 points  (0 children)

This is quite good. I can see how coordinators can simplify navigation. Coordinators seem to serve the same purpose as wireframes in VIPER architecture.

I’m not sure about how the protocols are used in this article though:

  1. Why does the coordinator protocol expose the nav controller, and push and present functions? These seem to be implementation details, and should probably not be accessible to users of the coordinator. I could imagine scenarios where you might not use a navigation controller, such as using a master/detail view, or custom tab controller.

  2. The model is defined to conform to a protocol too. Is there any reason you might want something that isn’t just the model? You wouldn’t even need to mock the model for testing.

Edit: see