UIViewController
のviewDidAppear:
のように、子クラスのメソッド内で親クラスのメソッドを呼ぶことを強制させたいことがあります。
このような場合に、Appleのドキュメントではその旨が書かれていたりします (例えば “If you override this method, you must call super at some point in your implementation.”) が、 うっかり忘れても警告なしでコンパイルが成功してしまいます。
NS_REQUIRES_SUPER
を使うと、このようなときに警告を出してくれるようになります。
なお、詳細はClangの言語拡張を参照してください。