如何在Objective C中使用单例数据?

Jam*_* Gu 0 singleton objective-c

我尝试创建一个单例来设置并获取不同视图之间的字符串:

globalVar.h:

@interface globalVar : NSObject
{
    NSString *storeID;
}

+ (globalVar *)sharedInstance;
@property  (nonatomic, copy) NSString *storeID;
@end
Run Code Online (Sandbox Code Playgroud)

globalVar.m:

#import "globalVar.h"

@implementation globalVar
@synthesize storeID;

+ (globalVar *)sharedInstance
{
       static globalVar *myInstance = nil;    

    if (nil == myInstance) {
        myInstance  = [[[self class] alloc] init];        
    }
    return myInstance;
}
@end
Run Code Online (Sandbox Code Playgroud)

现在我如何实际使用字符串?假设我想在一个视图中将其设置为"asdf"并在另一个视图中加载"asdf".

Car*_*rum 5

要设置它,请执行以下操作:

[globalVar sharedInstance].storeID = @"asdf";
Run Code Online (Sandbox Code Playgroud)

并使用它:

NSString *myString = [globalVar sharedInstance].storeID;
Run Code Online (Sandbox Code Playgroud)