iOS SettingsManager generator¶ ↑
Simple gem which generate SettingsManager singleton¶ ↑
Installation¶ ↑
gem install ios_generate_settings
Usage¶ ↑
ios_generate_settings login:NSString password:NSString count:NSNumber
When you restart script the new properties will be added¶ ↑
Generated sources¶ ↑
// SettingsManager.h #import <Foundation/Foundation.h> //string_constants static NSString *const kName = @"name"; static NSString *const kCount = @"count"; @interface SettingsManager : NSObject //property_declaration @property (nonatomic, retain, readwrite) NSString *name; @property (nonatomic, retain, readwrite) NSNumber *count; + (id)sharedInstance; - (void)saveValue:(id)aValue forKey:(NSString*)aKey; @end // SettingsManager.m @implementation SettingsManager //property_implementation @synthesize name; @synthesize count; static SettingsManager *settingsManagerInstance = nil; - (id)init { self = [super init]; if (self) { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; //load_properties self.name = [defaults valueForKey:kName]; self.count = [defaults valueForKey:kCount]; } return self; } - (void)dealloc { //release_properties self.name = nil; self.count = nil; [super dealloc]; } - (void)saveValue:(id)aValue forKey:(NSString *)aKey { [[NSUserDefaults standardUserDefaults] setValue:aValue forKey:aKey]; [[NSUserDefaults standardUserDefaults] synchronize]; [self setValue:aValue forKey:aKey]; } + (id)sharedInstance { if(nil == settingsManagerInstance){ settingsManagerInstance = [[SettingsManager alloc] init]; } return settingsManagerInstance; } @end