मैं उद्देश्य-सी में सिंगलटन को कार्यान्वित करने के तरीके के बारे में बहुत सारे धागे और ब्लॉग लेख पढ़ रहा हूं, उनमें से कई शायद थोड़ा बहिष्कृत (वर्ष 2010 या उससे पहले) हो रहा है, और ऐसा लगता है कि इस मुद्दे के बारे में लोगों के पास अलग-अलग राय हैं ... क्या ऐप्पल के पास सिंगलटन को लागू करने के बारे में दस्तावेज है? मुझे यह नहीं मिला। यदि हां, तो क्या कोई मुझे बता सकता है?आईओएस में उद्देश्य-सी सिंगलटन पैटर्न 5+
मुझे कक्षा के लिए सिंगलटन की आवश्यकता है जिसमें कुछ सार्वजनिक और निजी चर हैं। वर्तमान में, यह मेरे पास इस तरह के वर्ग के लिए कार्यान्वयन है:
@interface MySingleton()
@property (strong, nonatomic) NSString *state;
@end
@implementation MySingleton
@synthesize state = _state;
@synthesize count = _count;
static MySingleton *sharedObject = nil;
+ (MySingleton *)sharedInstance
{
static dispatch_once_t _singletonPredicate;
dispatch_once(&_singletonPredicate, ^{
sharedObject = [[super allocWithZone:nil] init];
});
return sharedObject;
}
+ (id)allocWithZone:(NSZone *)zone
{
return [self sharedInstance];
}
क्या यह अनुशंसित तरीका होना चाहिए? और मुझे आवृत्ति चर, सार्वजनिक और निजी कैसे प्रारंभ करना चाहिए?
एक और मुद्दा जो मैं सिंगलटन के बारे में स्पष्ट करना चाहता हूं: क्या यह स्मृति रिसाव उत्पन्न करेगा? आईओएस में वास्तव में सिंगलटन का उपयोग करने की सिफारिश की जाती है?
धन्यवाद
वास्तव में ... क्या यह आईओएस 4 में काम करेगा? (जिज्ञासा के रूप में।) – Fattie
और सहायक हो सकता है, यहां लोकप्रिय उत्तर में कोड की असाधारण सरल प्रस्तुति को नोट करें: http://codereview.stackexchange.com/questions/19829/objective-c-singleton-implementation – Fattie