এআরসি-র অধীনে সিঙ্গলটনের শেয়ার্ড ইনস্ট্যান্স অ্যাকসেসরে প্রেরণ_অনস ব্যবহার করার সঠিক কারণ কী?
+ (MyClass *)sharedInstance
{
// Static local predicate must be initialized to 0
static MyClass *sharedInstance = nil;
static dispatch_once_t onceToken = 0;
dispatch_once(&onceToken, ^{
sharedInstance = [[MyClass alloc] init];
// Do any other initialisation stuff here
});
return sharedInstance;
}
পটভূমিতে অবিচ্ছিন্নভাবে সিঙ্গলটন ইনস্ট্যান্ট করা কি খারাপ ধারণা নয়? আমি বোঝাতে চাইছি যদি আমি সেই ভাগ করা দৃষ্টান্তটি অনুরোধ করি এবং অবিলম্বে এটির উপর নির্ভর করি তবে ডিসপ্যাচ_নস ক্রিসমাস পর্যন্ত আমার অবজেক্ট তৈরি করতে সময় নেয়? এটা ঠিক সঙ্গে সঙ্গে ফিরে না? কমপক্ষে এটি গ্র্যান্ড সেন্ট্রাল ডিসপ্যাচের পুরো পয়েন্ট বলে মনে হচ্ছে।
তাহলে তারা কেন এটি করছে?
Note: static and global variables default to zero.