Objective-C lacks private methods or java-esque final methods. This means that it is possible for a subclass to (accidentally) override some of the internals of a superclass.
How does one prevent overriding methods in Objective-C?
closed as not a real question by Robert Harvey, Walter, Martijn Pieters, gnat, Glenn Nelson Jan 15 '13 at 18:18
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.
You write in the documentation for your class something like:
Seriously. I copied that quote straight from the documentation for UIView.
Objective-C encourages a culture of doing by convention many things which would be enforced by a compiler in other languages, and this is one of those things. I'm sure you could play some games in with the runtime whereby you get the IMP for the method you're about to call and compare it to the IMP of your own class's method. But then, it's possible that someone might swizzle an is-a on you, or otherwise play their own games, and in the end it's usually best to just say "Please don't do that."