複数種類のファイルを取り扱うようなアプリを思い浮かべてみて下さい。対応するファイル形式を柔軟に増やせるようなアーキテクチャを、Objective-Cではどう構築するのが良いでしょう?各形式を取り扱うモジュールがあって、それらは定型化された仕様に則って振る舞うような一般的なsubclassingモデルと、ファクトリパターンが良さそうです。取り扱える種類が増えると、モジュールを統括する部分(ファクトリ部)の実装が肥大化する問題が発生します。指定した拡張子に対応するクラスのインスタンスを返す関数とか。新しい形式を追加した時に、ファクトリ部への追加実装の手間も後々に負担となったり、実装漏れが生ずる可能性があります。モジュールをランタイムで列挙してスッキリさせるファクトリ部をスッキリさせるには、通常のsubclassingモデルよりももう少し粗結合な実装方法を検討してみると解決するかもしれません!それは、基底クラスのサブクラスの列挙部をハードコーディングするのではなく、ランタイムで列挙する方法です。サブクラスに、ファクトリ部で取り扱いが必要な情報を提供するGetterメソッドやプロパティを持たせます。これなら、新モジュールの登録忘れや一貫性を崩す心配を軽減できます!ランタイムAPIを使って実現NSObjectに対してメソッドを追加するカテゴリを紹介します。あるクラスをレシーバにして呼び出すと、その子クラスの名前がNSArrayで返ります。見づらいコードをショートカットキー一発で綺麗に整形する方法コードの整形は手間がかかる代入文って10行とか20行とかになると、一気に見づらくなりますよね。Builder使わないでコードでUIを組み立てたりしてると、プロパティの設定処理で平気で100行になります。scale];はい、とっても汚いですね。scale];非常に綺麗です。スペース打つの面倒くさい。そこで、上記のようなコードの整形をショートカットキー一発で出来るXCodeプラグインをご紹介します!XCodeプラグイン「XAlign」が便利XAlignは、文字通りAligningを手伝ってくれるプラグインです。インストール方法コマンド一発で即完了。sh`.XCodeを再起動しましょう。以下のデモンストレーションのように、「シフト+?+X」で自動整形を実行します。今までの苦労は一体ww#defineプリプロセッサ文や、@property構文などにも有効なようです。Blog.投稿先:キャンセル。