So, what about making weak a default and notWeak the explicit one? :D On Sat, Jun 16, 2012 at 11:09 PM, Igor Stasenko <[email protected]> wrote:
> On 16 June 2012 22:51, Mariano Martinez Peck <[email protected]> > wrote: > > Hi, with the help of Guille I noticed that normal instances usually > register > > weakly: > > > > TestRunner >> initialize > > ..... > > SystemAnnouncer current > > weak > > on: ClassAdded, CategoryAdded, ClassRemoved, CategoryRemoved, > > ClassRenamed, CategoryRenamed, ClassRecategorized send: #update to: self. > > ..... > > > > and classes don't: > > > > TestCase class >> registerForNotifications > > ... > > SystemAnnouncer current on: MethodAdded, MethodModified, MethodRemoved > > send: #methodChanged: to: self. > > > > so..Guille told me this is because usually the cycle-life of instances is > > short in comparisson with classes. But classes can be removed as well. > What > > happen then? the announcer will hold always a reference to an obsolete > > class? > > my question is, should we always use weakly? if not, why ? > > > > Yes, i think most of subscriptions should be weak, because it is kind > of implied by loose-coupling. > And classes is not an exception - because then you don't need to > explicitly unsubscribe, > and don't have to worry that it kept in memory just because you forgot to > do it. > > > thanks for the explanation, > > > > -- > > Mariano > > http://marianopeck.wordpress.com > > > > > > -- > Best regards, > Igor Stasenko. > >
