No commit activity in last 3 years
No release in over 3 years
Comand line interface to create SettingsManager singleton
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

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