Re: There's obviously something I don't understand about NSDate.
Re: There's obviously something I don't understand about NSDate.
- Subject: Re: There's obviously something I don't understand about NSDate.
- From: Dave Fernandes <email@hidden>
- Date: Sat, 17 Mar 2012 19:02:29 -0400
On 2012-03-17, at 6:57 PM, Dave Fernandes wrote:
> Yes, [NSDate date] returns an autoreleased object. So you need to retain it if you want to use it later. Once you are done with it, you should release it. See:
> https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmRules.html#//apple_ref/doc/uid/20000994-SW6
>
> If a Cocoa method name doesn't begin with “alloc”, “new”, “copy”, or “mutableCopy”, then the returned object is autoreleased.
Oops - "init" should be included in this list, of course.
>
> Dave
>
> On 2012-03-17, at 6:38 PM, G S wrote:
>
>> 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!
>>
>> Gavin
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden)
>>
>> 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:
>>
>> This email sent to email@hidden
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden