It depends on the specific case:
For initialization / cleanup, obviously, since the subclass depends on its state of the superclass, it must first initialize and clear.
In general, you may need to add behavior both before and after super-calls, or even completely omit the super-call (which in any case is to override the method).
In this particular case, see other answers; but since viewDidAppear: is a notification-like method, it really depends on whether your code needs a fully initialized object or is involved in the initialization itself, and therefore it should only make a super call as soon as it is done.
source share