You must use the 2nd way. If you don't you could get a memory exception if the timer has fired and, therefore, been invalidated.
On Aug 3, 2012, at 4:19 PM, Trygve Inda wrote: > NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval:60 target:self > selector:@selector(wantsUpdate:) userInfo:nil repeats:NO] > > Sometime after it fires (and occasionally before), I call > > if ( myTimer ) > { > [myTimer invalidate]; > [myTimer release]; > myTimer = nil; > } > > > Should I really be doing: > > if ( myTimer ) > { > if ([myTimer isValid]) > [myTimer invalidate]; > > [myTimer release]; > myTimer = nil; > } > > > > I am doing it the first way without trouble... At least I think it is ok. > The docs say non-repeating timers are invalidated after they fire. > > Which way is better? > > Comments? > > > > > _______________________________________________ > > 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/3tothe4th%40comcast.net > > This email sent to 3tothe...@comcast.net Charlie Dickman 3tothe...@comcast.net _______________________________________________ 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