FROM : Hamish Allan
DATE : Wed Mar 12 22:03:19 2008
Hi Gregory,
The method [NSDate date] returns an autoreleased object, which has
been dealloced by the time your NSTimer fires.
I'd recommend reading the documentation on memory management, starting with:
http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html
Best wishes,
Hamish
On Wed, Mar 12, 2008 at 8:56 PM, Gregory Short <<email_removed>> wrote:
> Howdy all, first-time poster here. I'm pretty new to Objective-C and
> it's associated run-time environment, so I apologize if this is a
> total newbie question that has been answered before (I couldn't find
> anything, but I might not know where to look.)
> My problem is this: I have an NSTimer which I set up in my NSView's -
> awakeFromNib method. Also in -awakeFromNib, I set create an NSDate
> object as part of the NSView. This all works fine. The problem is,
> when my timer fires, if I try to do anything at all with the NSDate
> object I created before, the program chokes. Here's the relevant
> portion of the code (I've stripped out what appears to be irrelevant;
> if anyone wants to see more, that's fine.)
>
> BlobView.h:
>
> @interface BlobView : NSOpenGLView
> {
> NSTimer* updateTimer;
> NSDate* lastUpdate;
> }
>
> - (void) updateTimer: (NSTimer *) timer;
>
> @end
>
>
>
> BlobView.m:
>
> @implementation BlobView
>
> - (void) awakeFromNib {
> lastUpdate = [NSDate date];
> NSLog(@"%lf", [lastUpdate timeIntervalSinceNow]); // This works fine
>
> updateTimer = [NSTimer scheduledTimerWithTimeInterval: 1.0 / 30.0
> target: self
> selector: @selector(updateTimer:)
> userInfo: nil
> repeats: YES];
> }
>
> - (void) updateTimer: (NSTimer *) timer {
> NSLog(@"%lf", [lastUpdate timeIntervalSinceNow]); // This produces a
> SIGBUS
> }
>
> @end
> _______________________________________________
>
> Cocoa-dev mailing list (<email_removed>)
>
> 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:
> http://lists.apple.com/mailman/options/cocoa-dev/<email_removed>
>
> This email sent to <email_removed>
>
DATE : Wed Mar 12 22:03:19 2008
Hi Gregory,
The method [NSDate date] returns an autoreleased object, which has
been dealloced by the time your NSTimer fires.
I'd recommend reading the documentation on memory management, starting with:
http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html
Best wishes,
Hamish
On Wed, Mar 12, 2008 at 8:56 PM, Gregory Short <<email_removed>> wrote:
> Howdy all, first-time poster here. I'm pretty new to Objective-C and
> it's associated run-time environment, so I apologize if this is a
> total newbie question that has been answered before (I couldn't find
> anything, but I might not know where to look.)
> My problem is this: I have an NSTimer which I set up in my NSView's -
> awakeFromNib method. Also in -awakeFromNib, I set create an NSDate
> object as part of the NSView. This all works fine. The problem is,
> when my timer fires, if I try to do anything at all with the NSDate
> object I created before, the program chokes. Here's the relevant
> portion of the code (I've stripped out what appears to be irrelevant;
> if anyone wants to see more, that's fine.)
>
> BlobView.h:
>
> @interface BlobView : NSOpenGLView
> {
> NSTimer* updateTimer;
> NSDate* lastUpdate;
> }
>
> - (void) updateTimer: (NSTimer *) timer;
>
> @end
>
>
>
> BlobView.m:
>
> @implementation BlobView
>
> - (void) awakeFromNib {
> lastUpdate = [NSDate date];
> NSLog(@"%lf", [lastUpdate timeIntervalSinceNow]); // This works fine
>
> updateTimer = [NSTimer scheduledTimerWithTimeInterval: 1.0 / 30.0
> target: self
> selector: @selector(updateTimer:)
> userInfo: nil
> repeats: YES];
> }
>
> - (void) updateTimer: (NSTimer *) timer {
> NSLog(@"%lf", [lastUpdate timeIntervalSinceNow]); // This produces a
> SIGBUS
> }
>
> @end
> _______________________________________________
>
> Cocoa-dev mailing list (<email_removed>)
>
> 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:
> http://lists.apple.com/mailman/options/cocoa-dev/<email_removed>
>
> This email sent to <email_removed>
>
| Related mails | Author | Date |
|---|---|---|
| Gregory Short | Mar 12, 21:56 | |
| Andrew Farmer | Mar 12, 22:02 | |
| Hamish Allan | Mar 12, 22:03 | |
| Hank Heijink (Mail… | Mar 12, 22:08 | |
| Gregory Short | Mar 12, 22:16 |






Cocoa mail archive

