Re: NSTimer and seg faults
Re: NSTimer and seg faults
- Subject: Re: NSTimer and seg faults
- From: "Hank Heijink (Mailinglists)" <email@hidden>
- Date: Wed, 12 Mar 2008 17:08:27 -0400
You're getting an autoreleased date and autoreleased timer from the
methods you call, but you're not retaining either your timer our your
date, so they'll both be gone after you leave awakeFromNib.
Read the memory management guide for how all this works:
<http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html
>
In the meantime try
lastUpdate = [[NSDate alloc] init];
and put a retain around your scheduledTimer. Also, your updateTimer
callback doesn't need an NSTimer * argument.
Good luck!
Hank
On Mar 12, 2008, at 4:56 PM, Gregory Short 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@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:
@runbox.com
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