Re: Proper way to create a singleton without @synchronized ?
Re: Proper way to create a singleton without @synchronized ?
- Subject: Re: Proper way to create a singleton without @synchronized ?
- From: Greg Parker <email@hidden>
- Date: Sun, 17 Apr 2011 23:07:28 -0700
On Apr 16, 2011, at 8:34 PM, Kyle Sluder wrote:
> On Sat, Apr 16, 2011 at 8:31 PM, Kyle Sluder <email@hidden> wrote:
>> + (id)sharedInstance {
>> static id sharedInstance;
>> static dispatch_once_t once;
>> dispatch_once(&once, ^{ sharedInstance = [[self alloc] init]; });
>> return sharedInstance;
>> }
>
> Should be [[[self alloc] init] autorelease].
You were right the first time. Adding autorelease would be incorrect. You really do want to allocate the object, store it in the sharedInstance variable, and never release it.
--
Greg Parker email@hidden Runtime Wrangler
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden