On Jan 14, 2013, at 1:23 PM, John McCall <rjmcc...@apple.com> wrote: > On Jan 14, 2013, at 10:07 AM, David Duncan <david.dun...@apple.com> wrote: >> On Jan 12, 2013, at 10:49 AM, Gordon Apple <g...@ed4u.com> wrote: >> >>> When compiled under ARC, NSTimer should have a weak, not strong, reference >>> to its target. >> >> If you want this, file a bug. Posting on the mailing list isn't guaranteed >> to get your request anywhere close to the persons responsible for evaluating >> and implementing features. >> >>> When the timer starts to fire, check the reference for nil and invalidate >>> itself. Come on guys, how hard is that? >> >> Probably harder than you give credit for, given that the framework has to >> work correctly for MRR, ARC and GC (where "correct" is subtly different for >> each environment) as well as support existing applications of each of these >> flavors that wouldn't know about this new behavior. > > It is effectively impossible: unlike GC, ARC is not a new runtime > environment. Different NSTimers may be used from different parts of the > program that are compiled under different settings — most likely, a system > framework compiled under MRR and an executable compiled under ARC. Indeed, > the *same* NSTimer can be used from different places, which should presumably > agree on how strongly the timer holds its target. > > Also, there are quite a lot of existing ARC applications that would > potentially break if we changed the semantics of NSTimer under ARC, so even > if we could implement this, it is really far too late.
Not impossible at all. All you have to do is add a new API, as for instance NSMapTable did in 10.8. Old code that continues to use the old API continues to get the existing behavior. Charles _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com