通常、この種のロジックをMYConfiguration
のようなモデルオブジェクトに移動することをお勧めします。こうすれば、明示的な方法でMYConfiguration
を照会でき、NSDictionary
に直接アクセスすることはできません。
ファイルの名前に関して、実際に必要な再利用の程度に応じて、ファイルを抽象化する方法はたくさんあります(ここでは外に出すことができます)。
最初は定数です。 MYConfiguration.m
では、このように民間の定数を置くことができます:それは、直接ハードコードするファイルの名前も珍しくありません
- (NSString *)pathToConfigurationFile {
return [[NSBundle mainBundle] pathForResource:kConfigurationFileBaseName ofType:@"plist"];
}
:
static NSString * const kConfigurationFileBaseName = @"Config";
また、パスを返すメソッドを持つことができます定数を持つよりむしろpathToConfigurationFile
にあります。定数は多くの場合、値が複数回使用される場合にのみが必要です。与えられた定数が一度しか現れない場合、値を別の場所に移動すると、コードを理解しにくくなることがあります。これらは、規則ではなく、のガイドラインです。
あなたが公に利用可能であることを自身の定数が必要な場合は、その後、あなたはMYConfiguration.h
でそれをこのように宣言します。その後、
extern NSString * const kMYConfigurationFileBaseName;
と.Mでそれを定義します。
NSString * const kMYConfigurationFileBaseName = @"Config";
しかしにおけるキーこれらのすべては、定数の使用に関連するヘッダーにこれらの定数を定義することです。あなたは、すべてのためのいくつかの中心的な "MYGlobals"投棄地を作りません。