On Aug 1, 2011, at 9:08 AM, Jeff Kelley wrote: > Interesting. Your +setFoo: example, I’m assuming, sets a global int.
Correct. > What about objects? I’m assuming that if I declare a global NSArray pointer > like so: > > NSArray *foo = nil; In general, globals default initialize to zero/nil/NULL and under ARC they must initialize to nil in order for ARC to work at all. > and then have a +setFoo:(NSArray *)array method, that calling it with nil > will be sufficient to clean up the array (that is, the ARC code will release > the current array)? Correct. Please be mindful of the fact that ARC does not magically fix concurrency issues (globals or otherwise). davez > > Jeff Kelley > > > On Mon, Aug 1, 2011 at 12:05 PM, Dave Zarzycki <[email protected]> wrote: > The simplest and most ARC friendly way to implement the singleton pattern is > to switch from instance methods to class methods – because the class itself > is by definition a singleton. In other words: > > + (MyClass *)sharedInstance; > // and maybe override alloc/retain/release to enforce the singleton > pattern > - (int)foo; > - (void)setFoo:(int)val; > > …becomes simply: > > + (int)foo; > + (void)setFoo:(int)val; > > davez > > > On Aug 1, 2011, at 8:48 AM, Jeff Kelley wrote: > > > Is there a new recommended way to implement a singleton with ARC? I remember > > hearing something about it, but I’m not sure what it was. > > > > Jeff Kelley _______________________________________________ Cocoa-dev mailing list ([email protected]) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
