iOS, Swift, Viewcode, Uikit, Xcode.
there is an issue regarding encapsulation. Since the methods for view coding stand internal or public if the protocol is from a different module or maybe the superclass, there is always a chance to call some of these methods from outside, which implies a lack of encapsulation. Thinking of SOLID,