Я хочу использовать некоторые одноэлементные классы. Я создал его, но не знаю, как его использовать в моем режиме контроля.цель-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
Теперь мне нужно, чтобы дать значение стандартного расположения букв 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: БУКВ]' (или 'setSharedString' в зависимости от того, является ли опечатка). Одна вещь, однако, состоит в том, чтобы взглянуть на примеры создания одноэлементов, которые используют 'dispatch_once'. Теперь вам может не понадобиться безопасность потока, но вы это сделаете. :) –