On Sat, 17 Mar 2012 15:38:20 -0700, G S <stokest...@gmail.com> said:
>I have a member variable to hold an NSDate:
>
>    NSDate* _firstBadAccuracyTime;
>
>At some point, something happens and I set this value to "now":
>
>    _firstBadAccuracyTime = [NSDate date];
>
>On my next trip through this function, I calculate how long it has been
>since I set this date:
>
>    NSDate* now = [NSDate date];
>    if([now timeIntervalSinceDate:_firstBadAccuracyTime] >
>BAD_ACCURACY_TIME)
>
>then CRASH: BAD ACCESS
>
>_firstBadAccuracyTime still contains a valid address, but the object
>must've been released.  Why?  If I add a retain where I assign it, the
>crash doesn't happen.  I added autorelease, but then got a crash on
>releasing an object I hadn't allocated (which makes me think it's already
>autoreleased).
>
>Thanks for any insight!

http://www.apeth.com/iOSBook/ch12.html#_memory_management

The mistake you're making here is *exactly* the mistake marked with the comment 
"in non-ARC code this would be a bad idea".

Of course ARC relieves you of such worries. And so does passing thru a property 
with a synthesized accessor, as that chapter goes on to explain.

m.
--
matt neuburg, phd = m...@tidbits.com, <http://www.apeth.net/matt/>
A fool + a tool + an autorelease pool = cool!
Programming iOS 5! http://shop.oreilly.com/product/0636920023562.do
_______________________________________________

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

Reply via email to