あなたの質問では、次のように書いています。
スパゲッティ コード/何千もの "if" チェックに関する非常に多くの問題がいたるところにあることは想像に難くありません。
これを回避する 1 つの方法は、iPhone/iPad 固有の変更の処理を最初から分割するビュー階層を作成することです。デバイスごとに最初にロードするビューを設定するだけで済みます。次に、通常どおりビューコントローラーを作成しますが、作成したビューコントローラーをサブクラス化します。デバイスごとに 1 つのサブクラス。向きの処理など、デバイス固有のコードを配置できる場所です。このような:
MyViewController.h // Code that is used on both devices
MyViewController_iPhone.h // iPhone specific code, like orientation handling
MyViewController_iPad.h // iPad specific code, like orientation handling
このアプローチに興味がある場合は、この記事を読むことをお勧めします。とても親切に説明してくれます。
この記事で言及されていることの1つは、次のとおりです。
--引用開始--
このパターンの優れた点は、次のようなくだらないコードでコードを散らかす必要がないことです。
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// The device is an iPad running iPhone 3.2 or later.
// set up the iPad-specific view
} else {
// The device is an iPhone or iPod touch.
// set up the iPhone/iPod Touch view
}
---引用終わり--
それが役立つことを願っています。幸運を!