View Controllers in iOS: we need to talk. You are—without a shadow of a doubt—the worst offender of the Single Responsibility Principle, and that needs to stop. The Single Responsibility Principle or SRP, is defined by Robert Martin (or, more affectionately, “Uncle Bob”) in his book Agile Software Development as the following:”A class should have only one reason to change.”