0
Я хочу знать способ porper создать singleton class. В настоящее время я делаю следующим образом. В файле .h я объявляю экземпляр класса следующим образом.Как создать класс singleton в ios?
@interface GlobalMethods : NSObject
{
}
+ (GlobalMethods *)sharedInstance;
И в файле .m я сделал код следующим образом.
@implementation GlobalMethods
- (id)init
{
self = [super init];
if (self)
{
//Custom Intialization
}
return self;
}
+ (GlobalMethods *)sharedInstance
{
static GlobalMethods *sharedInstance = nil;
@synchronized(self)
{
if (sharedInstance == NULL)
{
sharedInstance = [[GlobalMethods alloc] init];
}
return sharedInstance;
}
}
Строго говоря, нет никакого способа создания синглтона при использовании дуги. Вы можете создать общий объект, который очень похож. Вы используете Arc? – geminiCoder
Также вы можете посмотреть dispatch_once https://developer.apple.com/library/mac/documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html#//apple_ref/c/func/dispatch_once вместо @synchronised , – geminiCoder