ミイラ取りがミイラに

iOSで複数ある画面(UIViewController)のうち、特定の画面だけ向きの変更を許可する(許可しない)にはどのような実装が良いか。

ベタな実装としては全てのViewControllerにshouldautorotatetointerfaceorientationを個別に実装する方法があるが、これはスマートではない。
選択肢としては継承を使うかカテゴリを使う方法が考えられるが、それぞれのViewControllerに"isa"の関係が無い限りは継承関係にすべきではないだろう。であればカテゴリで実装するか。

ということで、カテゴリに対してAssociated Ojectを使った疑似プロパティで実装するのが良いだろうとコネコネと実装してみたのだが、そもそもiOS6ではshouldautorotatetointerfaceorientationがdeprecatedで呼ばれないのだった。

まずはここから理解しなくちゃならない、ということで今日は時間切れ。
残念ながら書いたサンプルコードを今日のネタにすることは出来なかった。