要使用,创建一个 NIMConfigManager 的类别,例如 NIMConfigManager+myApp
。我们为 config.plist 中的每个属性创建动态访问器。有关示例,请参阅 NIMConfigManager+Example.m
和 exampleConfig.plist
。
如果您的 config.plist 包含以下内容
<key>labelText</key>
<string>Hello World!</string>
<key>hideBigButton</key>
<true/>
我们的 NIMConfigManager+myApp.h
可能如下所示
@interface NIMConfigManager (myApp)
@property(readonly)NSString* labelText;
@property(readonly)BOOL hideBigButton;
@end
而 NIMConfigManager+myApp.m
可能如下
@implementation NIMConfigManager (myApp)
@dynamic labelText;
@dynamic hideBigButton;
@end
使用方法相当简单,我们先引入类别并初始化 sharedManager,然后将我们的 config.plist
文件传递给它。
NIMConfigManager *manager = [NIMConfigManager sharedManager];
manager.configPlist = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle]
pathForResource:@"config"
ofType:@"plist"]];
访问我们所需的任何属性都是非常简单的:
manager.labelText;
目前此管理器支持所有原生 plist 类型,不包括 NSDictionaries。
NIMConfigManager 没有外部需求。
非常感谢 Amy Worrall 在 iOSConfUK 上的演讲。此软件中所有巧妙代码都严格来源于她的展示幻灯片。
John Nye,@john_nye
NIMConfigManager 根据 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。