Just asking, with ARC, is this a good choice on implementing singleton? //Singleton.h #import <Foundation/Foundation.h> @interface Singleton : NSObject + (instancetype)defaultSingleton; // … @end extern Singleton *DefaultSingleton // Of course this is optional
// Singleton.m Singleton *DefaultSingleton @implementation Singleton + (instancetype)defaultSingleton { if (!DefaultSingleton) DefaultSingleton = [[self alloc] init]; return DefaultSingleton; } // … @end 在 2013-6-7,上午1:31,Ivan Vučica <ivuc...@gmail.com> 写道: > It depends on how the object is used -- in this case (without looking at the > code), it sounds like it's a typical singleton approach. > > On Wed, Jun 5, 2013 at 8:07 AM, Germán Arias <ger...@xelalug.org> wrote: > Thanks for the explanation. I knew about static variables with strings (like > @"hello"). > And that these don't should be released. But I did not know that this applies > to > other objects. > > Thanks. > Germán. > > On 2013-06-04 23:55:15 -0600 Graham Lee <gra...@iamleeg.com> wrote: > > > That's returning a shared static instance of the GSComboWindow class, so > > it's > > expected that it isn't released. It's also outside of the NSComboBoxCell > > class, so as far as NSComboBoxCell instances are concerned, they should obey > > standard memory management rules: > > > > - if you got an object via +alloc, -copy or -new, you own it and should > > -release or -autorelease it later. > > - if you didn't, you don't own it unless you -retain it > > - if you did neither of these, don't -release or -autorelease it. > > > > NSComboBoxCell is consistent with these rules. > > > > Graham. > > > > > _______________________________________________ > Gnustep-dev mailing list > Gnustep-dev@gnu.org > https://lists.gnu.org/mailman/listinfo/gnustep-dev > > > > -- > Ivan Vučica - i...@vucica.net > > _______________________________________________ > Gnustep-dev mailing list > Gnustep-dev@gnu.org > https://lists.gnu.org/mailman/listinfo/gnustep-dev
_______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev