Revision: 54255
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 17, 2011 03:21 by neoline
Initial Code
Step 1: Open your XCode project and add a new class.
In your XCode > ‘Group & Files’ colum > Right click on the classes folder > Click ‘Add > New File..’ > Select ‘Objective-C class’ (ensure its a sub class of NSObject) > Click ‘Next’ > Enter the new class name (in this example, GlobalData) > Finish
Step 2: The .h file
@interface GlobalData : NSObject {
NSString *message; // global variable
}
@property (nonatomic, retain) NSString *message;
+ (GlobalData*)sharedGlobalData;
// global function
- (void) myFunc;
@end
Step 3: The .m file
#import "GlobalData.h"
@implementation GlobalData
@synthesize message;
static GlobalData *sharedGlobalData = nil;
+ (GlobalData*)sharedGlobalData {
if (sharedGlobalData == nil) {
sharedGlobalData = [[super allocWithZone:NULL] init];
// initialize your variables here
sharedGlobalData.message = @"Default Global Message";
}
return sharedGlobalData;
}
+ (id)allocWithZone:(NSZone *)zone {
@synchronized(self)
{
if (sharedGlobalData == nil)
{
sharedGlobalData = [super allocWithZone:zone];
return sharedGlobalData;
}
}
return nil;
}
- (id)copyWithZone:(NSZone *)zone {
return self;
}
- (id)retain {
return self;
}
- (NSUInteger)retainCount {
return NSUIntegerMax; //denotes an object that cannot be released
}
- (void)release {
//do nothing
}
- (id)autorelease {
return self;
}
// this is my global function
- (void)myFunc {
self.message = @"Some Random Text";
}
@end
Access Global:
#import "GlobalData.h"
Access Global Variable:
[GlobalData sharedGlobalData].message
Access Global Function:
[[GlobalData sharedGlobalData] myFunc];
Initial URL
http://sree.cc/iphone/global-functions-and-variables-in-objective-c
Initial Description
How to make Global Variables (Singleton) in Objective-C
Initial Title
Global Variables in Objective-C (Singleton)
Initial Tags
c, iphone
Initial Language
Objective C