我想使用一些单例类。我创建它,但不知道如何在我的viewControllers中使用它。objective-c如何使用singleton?
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface AppData : NSObject
//Singletone
+(AppData*)sharedInstance;
@property (strong,nonatomic) NSString *shardString;
//Refs
@end
AppData.m:
#import "AppData.h"
static AppData* staticInstance;
@implementation AppData
+(AppData*)sharedInstance
{
if (staticInstance==nil)
{
staticInstance=[AppData new];
}
return staticInstance;
}
@end
现在我需要给QWERTY的NSString的值单的对象,如何从另一个viewControllers这个对象的访问? ViewController.m:
#import "ViewController.h"
#import "AppData.h"
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *qwerty = @"i'm a singlton!";
[[AppData sharedInstance] ]
NSLog(@"%@",);
}
你基本上已经在那里:'[AppData的sharedInstance] setShardString:QWERTY]'(或取决于是否这是一个错字'setSharedString')。但有一件事是看看使用'dispatch_once'的单例创建示例。你现在可能不需要线程安全,但你会。 :) –