We have an app that makes web requests that can take several seconds over a slow network. The web requests Start and Stop external services. Currently we disable the UI at various points to prevent the user from getting the UI out of sync with the web requests. A simple example would look like this...
User selects item from table ->
Web request completes ->
User pushes back button ->
Web requests completes ->
The problem we have at the moment is that under iOS 8 it seems almost impossible to disable the back button. And indeed there is now the "left-swipe" gesture which allows the user to go back through the navigation stack. While there are various work arounds for disabling the back button, none of them seem to be the "correct" approach. All this leads me to wonder if we are going about this the right way.
Is our current approach sensible, or are there better ways to mix UI and web requests?