Setting Global Value in Objective C

Setting and getting value using a global singleton in objective c is a programming pattern that allow you store in the system memory.

There’s a lot of discussion regarding this design pattern both on the pros and cons, visit the following to read more. http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons

To Setup the Singleton Object in your Xcode project.

1. Create a class (.h/.m) and name them GlobalSingleton.

2. In the GlobalSingleton.h file, add the following section of codes.

#import <Foundation/Foundation.h>

 

@interface GlobalSingleton : NSObject

 

//This are the property you are going to store in the Singleton object

@property (nonatomic, retain) NSArray *array_SideViewOptions;

 

@property (nonatomic, retain) bool *offline;

 

+(GlobalSingleton*) getValues;

 

@end

 

Notice the Singleton Properties, these are the different type of properties you intend to store inside the object.

3. In the GlobalSingleton.m file, add the following section of the codes.

#import GlobalSingleton.h

static GlobalSingleton* singleton;

static dispatch_once_t pred;

@implementation GlobalSingleton

 

@synthesize offline;

@synthesize array_SideViewOptions;

 

+(GlobalSingleton*) getValues{

    

    dispatch_once(&pred, ^{

        singleton = [[GlobalSingleton alloc] init];

    });

    returnsingleton;

    

}

 

@end

Notice the synthesize portion, thats allow you have to do in future if you add more properties.

 

Using the Singleton – Setting Value.

#import “GlobalSingleton.h”


[GlobalSingleton getValues].array_SideViewOptions = [[NSArray alloc]initWithObjects:@“apple”,@”Spidy”,@”Settings”,@”Feedback”, nil];

Using the Singleton – Getting Value.

#import “GlobalSingleton.h”

array_SectionOne = [GlobalSingleton getValues].array_SideViewOptions;

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *