Я новичок в разработке Objective-C и iOS, и я не уверен, правильно ли я это делаю. Во всяком случае, в основном у меня есть файл Configs.plist, который на данный момент имеет два набора ключей: Value (Customer: Generic и Short_Code: Default). Я хочу, чтобы эти данные были легко доступны для всех классов, поэтому я создал их:
Configs.h
extern NSString * const CUSTOMER;
extern NSString * const SHORT_CODE;
@interface Configs
+ (void)initialize;
+ (NSDictionary *)getConfigs;
@end
Configs.m
#import "Configs.h"
NSString * const CUSTOMER = @"Customer";
NSString * const SHORT_CODE = @"Short_Code";
static NSDictionary *myConfigs;
@implementation Configs
+ (void)initialize{
if(myConfigs == nil){
NSString *path = [[NSBundle mainBundle] pathForResource:@"Configs" ofType:@"plist"];
settings = [[NSDictionary alloc] initWithContentsOfFile:path];
}
}
+ (NSDictionary *)getConfigs{
return settings;
}
@end
А на тестовый файл Test.m:
NSLog(@"Customer: %@", [[Configs getConfigs] objectForKey:CUSTOMER]);
NSLog(@"Short Code: %@", [[Configs getConfigs] objectForKey:SHORT_CODE]);
Дело в том, что этот подход работает, но я хочу знать, есть ли лучшие способы сделать это.